From 3806a833d52669fc42461709d4ebf3b0ec9d3a69 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 11:28:00 +0200 Subject: [PATCH 01/12] Fix replay of durable calls completed in the crash window The executor recorded a durable call's End entry when the host completed the operation, before the guest observed the result. A crash between host completion and guest observation (e.g. an HTTP response fully received by the host but not yet polled by the guest) made replay hand the guest a completion it never saw, causing divergent replay. Originally observed as the flaky Go outgoing-HTTP replay test. The oplog now separates host completion from guest consumption: - End keeps recording host completion and persists the result. - CompletionDelivered / CompletionDiscarded record whether the guest actually consumed the completion (delivered through waitable-set wait/poll, a guest callback, or sync lowering - or consumed without observing the result via subtask.cancel / cancellation). - During replay, an End with a marker waits for its exact marker before releasing the result to the guest; a markerless End (the crash window) waits for natural replay-tail exhaustion and then becomes live-armed, so the guest re-observes the completion in live mode. - Cancelled partial results remain immediately deliverable. The delivery point is captured with terminal observers added to the golem-wasmtime fork (branch golem-wasmtime-v46.0.1-p3), which fire exactly when the guest consumes a subtask's terminal event. The oplog format change is not backward compatible; this is acceptable for the unreleased format. --- Cargo.lock | 88 +- cli/golem-cli/src/model/agent/oplog.rs | 8 + .../wit/deps/golem-1.x/golem-oplog.wit | 24 +- .../proto/golem/worker/public_oplog.proto | 6 + .../proto/golem/worker/raw_oplog.proto | 5 + golem-common/src/base_model/oplog/mod.rs | 19 + golem-common/src/model/oplog/matcher.rs | 4 + golem-common/src/model/oplog/protobuf.rs | 63 +- .../wit/deps/golem-1.x/golem-oplog.wit | 24 +- golem-debugging-service/src/debug_session.rs | 8 + .../src/oplog/debug_oplog.rs | 6 +- .../src/services/debug_service.rs | 74 +- golem-test-framework/src/dsl/debug_render.rs | 5 + golem-worker-executor-test-utils/src/lib.rs | 23 +- .../src/durable_host/concurrent/access.rs | 22 +- .../src/durable_host/concurrent/call.rs | 182 +- .../src/durable_host/concurrent/delivery.rs | 604 +- .../durable_host/concurrent/drop_events.rs | 46 +- .../src/durable_host/concurrent/replay.rs | 50 +- .../src/durable_host/concurrent/tests.rs | 472 +- .../src/durable_host/durability.rs | 13 +- golem-worker-executor/src/durable_host/mod.rs | 8 + .../src/durable_host/p3/http/response_body.rs | 37 +- .../src/durable_host/p3/http/send.rs | 25 +- .../src/durable_host/p3/http/test_support.rs | 9 +- .../src/durable_host/replay_state/claims.rs | 75 +- .../src/durable_host/replay_state/cursor.rs | 541 +- .../src/durable_host/replay_state/mod.rs | 108 +- .../durable_host/replay_state/resolution.rs | 110 +- .../src/durable_host/replay_state/tests.rs | 614 +- .../src/durable_host/suspendable_wait.rs | 8 + .../src/durable_host/wasm_rpc/mod.rs | 4 +- .../src/model/public_oplog/mod.rs | 17 +- .../src/model/public_oplog/wit.rs | 42 +- .../src/services/oplog/ephemeral.rs | 21 +- .../src/services/oplog/mod.rs | 18 +- .../src/services/oplog/multilayer.rs | 16 +- .../src/services/oplog/plugin.rs | 90 +- .../src/services/oplog/primary.rs | 17 +- .../src/services/oplog/rate_limited.rs | 65 +- golem-worker-executor/src/worker/cut_point.rs | 28 +- golem-worker-executor/src/worker/status.rs | 2 +- .../tests/concurrent_delivery_order.rs | 21 +- openapi/golem-service.yaml | 27 + openapi/golem-worker-service.yaml | 27 + .../interface/golem/api/oplog/ffi.mbt | 150 +- .../interface/golem/api/oplog/top.mbt | 147269 +++++++-------- .../wit/deps/golem-1.x/golem-oplog.wit | 24 +- .../wit/deps/golem-1.x/golem-oplog.wit | 24 +- sdks/scala/wit/deps/golem-1.x/golem-oplog.wit | 24 +- sdks/scala/wit/dts/golem_api_1_5_0_oplog.d.ts | 30 + .../types/golem_api_1_5_0_oplog.d.ts | 30 + sdks/ts/wit/deps/golem-1.x/golem-oplog.wit | 24 +- wit/deps/golem-1.x/golem-oplog.wit | 24 +- 54 files changed, 69011 insertions(+), 82264 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 339fc33d13..a142958fb3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1677,7 +1677,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] @@ -1957,7 +1957,7 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-assembler-x64-meta", ] @@ -1965,7 +1965,7 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64-meta" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-srcgen", ] @@ -1973,7 +1973,7 @@ dependencies = [ [[package]] name = "cranelift-bforest" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-entity", "wasmtime-internal-core", @@ -1982,7 +1982,7 @@ dependencies = [ [[package]] name = "cranelift-bitset" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "serde", "serde_derive", @@ -1992,7 +1992,7 @@ dependencies = [ [[package]] name = "cranelift-codegen" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "bumpalo", "cranelift-assembler-x64", @@ -2022,7 +2022,7 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-assembler-x64-meta", "cranelift-codegen-shared", @@ -2034,12 +2034,12 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" [[package]] name = "cranelift-control" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "arbitrary", ] @@ -2047,7 +2047,7 @@ dependencies = [ [[package]] name = "cranelift-entity" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-bitset", "serde", @@ -2058,7 +2058,7 @@ dependencies = [ [[package]] name = "cranelift-frontend" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-codegen", "hashbrown 0.17.1", @@ -2070,12 +2070,12 @@ dependencies = [ [[package]] name = "cranelift-isle" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" [[package]] name = "cranelift-native" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-codegen", "libc", @@ -2085,7 +2085,7 @@ dependencies = [ [[package]] name = "cranelift-srcgen" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" [[package]] name = "crc" @@ -4969,7 +4969,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.2", + "socket2 0.5.10", "system-configuration", "tokio", "tower-service", @@ -6529,7 +6529,7 @@ version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51e219e79014df21a225b1860a479e2dcd7cbd9130f4defd4bd0e191ea31d67d" dependencies = [ - "base64 0.22.1", + "base64 0.21.7", "chrono", "getrandom 0.2.17", "http 1.4.0", @@ -7626,7 +7626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck", - "itertools 0.14.0", + "itertools 0.10.5", "log", "multimap", "petgraph 0.8.3", @@ -7647,7 +7647,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.10.5", "proc-macro2", "quote", "syn 2.0.119", @@ -7660,7 +7660,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.10.5", "proc-macro2", "quote", "syn 2.0.119", @@ -7786,7 +7786,7 @@ dependencies = [ [[package]] name = "pulley-interpreter" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cranelift-bitset", "log", @@ -7797,7 +7797,7 @@ dependencies = [ [[package]] name = "pulley-macros" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "proc-macro2", "quote", @@ -7842,7 +7842,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.37", - "socket2 0.6.2", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tracing", @@ -7880,7 +7880,7 @@ dependencies = [ "cfg_aliases 0.2.1", "libc", "once_cell", - "socket2 0.6.2", + "socket2 0.5.10", "tracing", "windows-sys 0.60.2", ] @@ -11574,7 +11574,7 @@ dependencies = [ [[package]] name = "wasmtime" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "addr2line 0.26.0", "async-trait", @@ -11627,7 +11627,7 @@ dependencies = [ [[package]] name = "wasmtime-environ" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "anyhow", "cpp_demangle", @@ -11657,7 +11657,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-cache" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "base64 0.22.1", "directories-next", @@ -11676,7 +11676,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-macro" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "anyhow", "proc-macro2", @@ -11690,12 +11690,12 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-util" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" [[package]] name = "wasmtime-internal-core" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "anyhow", "hashbrown 0.17.1", @@ -11706,7 +11706,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-cranelift" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cfg-if", "cranelift-codegen", @@ -11732,7 +11732,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-fiber" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cc", "cfg-if", @@ -11746,7 +11746,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-debug" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cc", "object 0.39.1", @@ -11757,7 +11757,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-icache-coherence" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cfg-if", "libc", @@ -11768,7 +11768,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-unwinder" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "cfg-if", "cranelift-codegen", @@ -11780,7 +11780,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-versioned-export-macros" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "proc-macro2", "quote", @@ -11790,7 +11790,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-wit-bindgen" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "anyhow", "bitflags 2.11.1", @@ -11802,7 +11802,7 @@ dependencies = [ [[package]] name = "wasmtime-wasi" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "async-trait", "bitflags 2.11.1", @@ -11830,7 +11830,7 @@ dependencies = [ [[package]] name = "wasmtime-wasi-http" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "async-trait", "bytes", @@ -11855,7 +11855,7 @@ dependencies = [ [[package]] name = "wasmtime-wasi-io" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "async-trait", "bytes", @@ -11867,7 +11867,7 @@ dependencies = [ [[package]] name = "wasmtime-wizer" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "log", "rayon", @@ -12011,7 +12011,7 @@ checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" [[package]] name = "wiggle" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "bitflags 2.11.1", "thiserror 2.0.18", @@ -12024,7 +12024,7 @@ dependencies = [ [[package]] name = "wiggle-generate" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "heck", "proc-macro2", @@ -12037,7 +12037,7 @@ dependencies = [ [[package]] name = "wiggle-macro" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#2cdf4998b92986fe19f8efd0cb9930714d68b3ce" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" dependencies = [ "proc-macro2", "quote", @@ -12073,7 +12073,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] diff --git a/cli/golem-cli/src/model/agent/oplog.rs b/cli/golem-cli/src/model/agent/oplog.rs index 509a061e15..f0941f2cb5 100644 --- a/cli/golem-cli/src/model/agent/oplog.rs +++ b/cli/golem-cli/src/model/agent/oplog.rs @@ -150,6 +150,14 @@ impl TextOutput for PublicOplogEntry { )); logln(format!("{pad}start index: {}", params.start_index)); } + PublicOplogEntry::CompletionDelivered(params) => { + logln(format_message_highlight("COMPLETION DELIVERED")); + logln(format!( + "{pad}at: {}", + format_id(¶ms.timestamp) + )); + logln(format!("{pad}start index: {}", params.start_index)); + } PublicOplogEntry::AgentInvocationStarted(params) => { log_agent_invocation( AgentInvocationRenderKind::Started, diff --git a/cli/golem-cli/wit/deps/golem-1.x/golem-oplog.wit b/cli/golem-cli/wit/deps/golem-1.x/golem-oplog.wit index 28f7d9d514..0e192e7748 100644 --- a/cli/golem-cli/wit/deps/golem-1.x/golem-oplog.wit +++ b/cli/golem-cli/wit/deps/golem-1.x/golem-oplog.wit @@ -165,6 +165,15 @@ interface oplog { start-index: oplog-index, } + /// Parameters of a `completion-delivered` entry: the successful result of the durable host + /// call started at `start-index` was handed to the agent at this point in the recorded + /// execution. Replay may prepare the recorded host result earlier, but does not hand it to the + /// agent until this marker and prevents later oplog entries from advancing until that handoff. + record completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + record local-span-data { span-id: span-id, start: datetime, @@ -620,6 +629,11 @@ interface oplog { start-index: oplog-index, } + record raw-completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. record raw-host-stream-frame-parameters { @@ -844,7 +858,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(raw-completion-discarded-parameters) + completion-discarded(raw-completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(raw-completion-delivered-parameters) } variant public-oplog-entry { @@ -953,7 +970,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(completion-discarded-parameters) + completion-discarded(completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(completion-delivered-parameters) } /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads diff --git a/golem-api-grpc/proto/golem/worker/public_oplog.proto b/golem-api-grpc/proto/golem/worker/public_oplog.proto index 55acb7ac12..da500a8e44 100644 --- a/golem-api-grpc/proto/golem/worker/public_oplog.proto +++ b/golem-api-grpc/proto/golem/worker/public_oplog.proto @@ -73,6 +73,7 @@ message OplogEntry { CardExpiredParameters CardExpired = 51; HostStreamFrameParameters HostStreamFrame = 52; CompletionDiscardedParameters CompletionDiscarded = 53; + CompletionDeliveredParameters CompletionDelivered = 54; } } @@ -154,6 +155,11 @@ message CompletionDiscardedParameters { uint64 start_index = 2; } +message CompletionDeliveredParameters { + google.protobuf.Timestamp timestamp = 1; + uint64 start_index = 2; +} + message AgentInvocationStartedParameters { google.protobuf.Timestamp timestamp = 1; PublicAgentInvocation invocation = 2; diff --git a/golem-api-grpc/proto/golem/worker/raw_oplog.proto b/golem-api-grpc/proto/golem/worker/raw_oplog.proto index efc990ada0..5bb881a7d3 100644 --- a/golem-api-grpc/proto/golem/worker/raw_oplog.proto +++ b/golem-api-grpc/proto/golem/worker/raw_oplog.proto @@ -65,6 +65,7 @@ message RawOplogEntry { RawCardExpiredParameters card_expired = 50; RawHostStreamFrameParameters host_stream_frame = 51; RawCompletionDiscardedParameters completion_discarded = 52; + RawCompletionDeliveredParameters completion_delivered = 53; } } @@ -174,6 +175,10 @@ message RawCompletionDiscardedParameters { uint64 start_index = 1; } +message RawCompletionDeliveredParameters { + uint64 start_index = 1; +} + message RawAgentInvocationStartedParameters { IdempotencyKey idempotency_key = 1; RawOplogPayload payload = 2; diff --git a/golem-common/src/base_model/oplog/mod.rs b/golem-common/src/base_model/oplog/mod.rs index b6413e02b5..a7c3c56d69 100644 --- a/golem-common/src/base_model/oplog/mod.rs +++ b/golem-common/src/base_model/oplog/mod.rs @@ -782,4 +782,23 @@ oplog_entry! { start_index: OplogIndex, } }, + /// Marks the point where the successful completion (`End`) of the durable host call started + /// by the `Start` at `start_index` was delivered to the guest. Unlike `End`, this is a guest + /// execution boundary: replay may prepare the recorded host result earlier, but must not hand + /// it to the guest until this marker, so callbacks run in their recorded order. + /// + /// The marker is a hint entry and always lies physically after its `End`. Replay indexes it + /// before resolving the `End`; only the matching completion may consume it at its physical + /// position, and later oplog entries remain blocked until the result crosses to the guest. + CompletionDelivered { + hint: true + wit_raw_type: "raw-completion-delivered-parameters" + wit_public_type: "completion-delivered-parameters" + raw { + start_index: OplogIndex, + } + public { + start_index: OplogIndex, + } + } } diff --git a/golem-common/src/model/oplog/matcher.rs b/golem-common/src/model/oplog/matcher.rs index 1d9e4b9f18..ddbe514115 100644 --- a/golem-common/src/model/oplog/matcher.rs +++ b/golem-common/src/model/oplog/matcher.rs @@ -151,6 +151,10 @@ impl PublicOplogEntry { Self::string_match("CompletionDiscarded", &[], query_path, query) || Self::string_match("completion-discarded", &[], query_path, query) } + PublicOplogEntry::CompletionDelivered(_) => { + Self::string_match("CompletionDelivered", &[], query_path, query) + || Self::string_match("completion-delivered", &[], query_path, query) + } PublicOplogEntry::AgentInvocationStarted(params) => { Self::string_match("agentinvocationstarted", &[], query_path, query) || Self::string_match("invoke", &[], query_path, query) diff --git a/golem-common/src/model/oplog/protobuf.rs b/golem-common/src/model/oplog/protobuf.rs index 575eaccbc8..d622e0c0c9 100644 --- a/golem-common/src/model/oplog/protobuf.rs +++ b/golem-common/src/model/oplog/protobuf.rs @@ -44,15 +44,16 @@ use crate::model::oplog::public_oplog_entry::{ ActivatePluginParams, AgentInvocationFinishedParams, AgentInvocationStartedParams, BeginAtomicRegionParams, BeginRemoteTransactionParams, CancelPendingInvocationParams, CancelledParams, CardEventQueuedParams, CardInstallFailedParams, CardInstalledParams, - CardRevokedParams, CommittedRemoteTransactionParams, CompletionDiscardedParams, CreateParams, - CreateResourceParams, DeactivatePluginParams, DropResourceParams, EndAtomicRegionParams, - EndParams, ErrorParams, ExitedParams, FailedUpdateParams, FilesystemStorageUsageUpdateParams, - FinishSpanParams, GrowMemoryParams, HostStreamFrameParams, InterruptedParams, JumpParams, - LogParams, NoOpParams, OplogProcessorCheckpointParams, PendingAgentInvocationParams, - PendingUpdateParams, PreCommitRemoteTransactionParams, PreRollbackRemoteTransactionParams, - RemoveRetryPolicyParams, RestartParams, RevertParams, RolledBackRemoteTransactionParams, - SetRetryPolicyParams, SetSpanAttributeParams, SnapshotParams, StartParams, StartSpanParams, - SuccessfulUpdateParams, SuspendParams, + CardRevokedParams, CommittedRemoteTransactionParams, CompletionDeliveredParams, + CompletionDiscardedParams, CreateParams, CreateResourceParams, DeactivatePluginParams, + DropResourceParams, EndAtomicRegionParams, EndParams, ErrorParams, ExitedParams, + FailedUpdateParams, FilesystemStorageUsageUpdateParams, FinishSpanParams, GrowMemoryParams, + HostStreamFrameParams, InterruptedParams, JumpParams, LogParams, NoOpParams, + OplogProcessorCheckpointParams, PendingAgentInvocationParams, PendingUpdateParams, + PreCommitRemoteTransactionParams, PreRollbackRemoteTransactionParams, RemoveRetryPolicyParams, + RestartParams, RevertParams, RolledBackRemoteTransactionParams, SetRetryPolicyParams, + SetSpanAttributeParams, SnapshotParams, StartParams, StartSpanParams, SuccessfulUpdateParams, + SuspendParams, }; use crate::model::oplog::{ AgentTerminatedByQuotaError, DurableFunctionType, EphemeralCannotSuspendError, @@ -582,6 +583,17 @@ impl TryFrom for PublicOplogEn ), }), ), + oplog_entry::Entry::CompletionDelivered(completion_delivered) => Ok( + PublicOplogEntry::CompletionDelivered(CompletionDeliveredParams { + timestamp: completion_delivered + .timestamp + .ok_or("Missing timestamp field")? + .into(), + start_index: crate::base_model::OplogIndex::from_u64( + completion_delivered.start_index, + ), + }), + ), oplog_entry::Entry::AgentInvocationStarted(agent_invocation_started) => Ok( PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParams { timestamp: agent_invocation_started @@ -1093,6 +1105,16 @@ impl TryFrom for golem_api_grpc::proto::golem::worker::OplogEn )), } } + PublicOplogEntry::CompletionDelivered(completion_delivered) => { + golem_api_grpc::proto::golem::worker::OplogEntry { + entry: Some(oplog_entry::Entry::CompletionDelivered( + golem_api_grpc::proto::golem::worker::CompletionDeliveredParameters { + timestamp: Some(completion_delivered.timestamp.into()), + start_index: completion_delivered.start_index.as_u64(), + }, + )), + } + } PublicOplogEntry::AgentInvocationStarted(agent_invocation_started) => { golem_api_grpc::proto::golem::worker::OplogEntry { entry: Some(oplog_entry::Entry::AgentInvocationStarted( @@ -2519,6 +2541,12 @@ impl TryFrom for OplogEntry { start_index: completion_discarded.start_index, }) } + PublicOplogEntry::CompletionDelivered(completion_delivered) => { + Ok(OplogEntry::CompletionDelivered { + timestamp: completion_delivered.timestamp, + start_index: completion_delivered.start_index, + }) + } PublicOplogEntry::AgentInvocationStarted(_) => { Err("Converting AgentInvocationStarted from public to raw oplog entry is not yet supported".to_string()) } @@ -3158,10 +3186,10 @@ impl TryFrom for golem_api_grpc::proto::golem::worker::RawOplogEntry RawAgentInvocationStartedParameters, RawBeginRemoteTransactionParameters, RawCancelPendingInvocationParameters, RawCancelledParameters, RawCardEventQueuedParameters, RawCardInstallFailedParameters, - RawCardInstalledParameters, RawCardRevokedParameters, RawCompletionDiscardedParameters, - RawCreateParameters, RawCreateResourceParameters, RawDeactivatePluginParameters, - RawDropResourceParameters, RawEndAtomicRegionParameters, RawEndParameters, RawEnvVar, - RawErrorParameters, RawFailedUpdateParameters, + RawCardInstalledParameters, RawCardRevokedParameters, RawCompletionDeliveredParameters, + RawCompletionDiscardedParameters, RawCreateParameters, RawCreateResourceParameters, + RawDeactivatePluginParameters, RawDropResourceParameters, RawEndAtomicRegionParameters, + RawEndParameters, RawEnvVar, RawErrorParameters, RawFailedUpdateParameters, RawFilesystemStorageUsageUpdateParameters, RawFinishSpanParameters, RawGrowMemoryParameters, RawHostStreamFrameParameters, RawJumpParameters, RawLogParameters, RawOplogProcessorCheckpointParameters, RawOplogRegion, @@ -3255,6 +3283,11 @@ impl TryFrom for golem_api_grpc::proto::golem::worker::RawOplogEntry start_index: start_index.as_u64(), }) } + OplogEntry::CompletionDelivered { start_index, .. } => { + Entry::CompletionDelivered(RawCompletionDeliveredParameters { + start_index: start_index.as_u64(), + }) + } OplogEntry::AgentInvocationStarted { idempotency_key, payload, @@ -3689,6 +3722,10 @@ impl TryFrom for OplogEntry timestamp, start_index: crate::base_model::OplogIndex::from_u64(p.start_index), }), + Entry::CompletionDelivered(p) => Ok(OplogEntry::CompletionDelivered { + timestamp, + start_index: crate::base_model::OplogIndex::from_u64(p.start_index), + }), Entry::AgentInvocationStarted(p) => { let idempotency_key = p.idempotency_key.ok_or("Missing idempotency_key")?.into(); let payload = oplog_payload_from_proto(p.payload.ok_or("Missing payload")?)?; diff --git a/golem-common/wit/deps/golem-1.x/golem-oplog.wit b/golem-common/wit/deps/golem-1.x/golem-oplog.wit index 28f7d9d514..0e192e7748 100644 --- a/golem-common/wit/deps/golem-1.x/golem-oplog.wit +++ b/golem-common/wit/deps/golem-1.x/golem-oplog.wit @@ -165,6 +165,15 @@ interface oplog { start-index: oplog-index, } + /// Parameters of a `completion-delivered` entry: the successful result of the durable host + /// call started at `start-index` was handed to the agent at this point in the recorded + /// execution. Replay may prepare the recorded host result earlier, but does not hand it to the + /// agent until this marker and prevents later oplog entries from advancing until that handoff. + record completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + record local-span-data { span-id: span-id, start: datetime, @@ -620,6 +629,11 @@ interface oplog { start-index: oplog-index, } + record raw-completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. record raw-host-stream-frame-parameters { @@ -844,7 +858,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(raw-completion-discarded-parameters) + completion-discarded(raw-completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(raw-completion-delivered-parameters) } variant public-oplog-entry { @@ -953,7 +970,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(completion-discarded-parameters) + completion-discarded(completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(completion-delivered-parameters) } /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads diff --git a/golem-debugging-service/src/debug_session.rs b/golem-debugging-service/src/debug_session.rs index 345450798e..011de290b0 100644 --- a/golem-debugging-service/src/debug_session.rs +++ b/golem-debugging-service/src/debug_session.rs @@ -194,6 +194,9 @@ enum PairingSignature { CompletionDiscarded { start_index: OplogIndex, }, + CompletionDelivered { + start_index: OplogIndex, + }, HostStreamFrame { parent_start_index: OplogIndex, kind: HostStreamKind, @@ -258,6 +261,11 @@ impl PairingSignature { start_index: *start_index, } } + OplogEntry::CompletionDelivered { start_index, .. } => { + PairingSignature::CompletionDelivered { + start_index: *start_index, + } + } OplogEntry::HostStreamFrame { parent_start_index, kind, diff --git a/golem-debugging-service/src/oplog/debug_oplog.rs b/golem-debugging-service/src/oplog/debug_oplog.rs index 55bfa45c74..6fea4e0592 100644 --- a/golem-debugging-service/src/oplog/debug_oplog.rs +++ b/golem-debugging-service/src/oplog/debug_oplog.rs @@ -16,7 +16,7 @@ use crate::debug_session::{DebugSessionId, DebugSessions}; use async_trait::async_trait; use golem_common::model::oplog::{OplogEntry, OplogIndex, PayloadId, RawOplogPayload}; use golem_worker_executor::services::oplog::{ - CommitLevel, Oplog, OrderedOplogStart, PendingUpload, + CommitLevel, Oplog, OplogAddReceipt, OrderedOplogStart, PendingUpload, }; use std::collections::{BTreeMap, HashMap}; use std::fmt::Debug; @@ -82,6 +82,10 @@ impl Oplog for DebugOplog { OplogIndex::NONE } + fn enqueue_add(&self, _entry: OplogEntry) -> OplogAddReceipt { + Box::pin(async { OplogIndex::NONE }) + } + // Mirrors `add`: a debugging session never writes to the oplog, so both entries are built (to // satisfy the closure contract) and discarded. async fn add_pair( diff --git a/golem-debugging-service/src/services/debug_service.rs b/golem-debugging-service/src/services/debug_service.rs index c71d646a55..28854d6bef 100644 --- a/golem-debugging-service/src/services/debug_service.rs +++ b/golem-debugging-service/src/services/debug_service.rs @@ -334,20 +334,19 @@ impl DebugServiceDefault { } /// Scans the full recorded oplog and returns the first durable call whose `End` lies at or - /// before `target_index` while its `CompletionDiscarded` marker lies strictly after it — - /// that is, a target that splits a call's completion from its recorded delivery status. + /// before `target_index` while its completion-delivery marker lies strictly after it — that + /// is, a target that splits a call's completion from its recorded delivery status or timing. /// Returns `(start_index, end_index, marker_index)` for the offending call. /// - /// Replaying to such a target would deliver the completion to the guest, but the recorded - /// execution never observed it (the marker records that it was discarded before delivery), - /// so every recorded entry after the `End` reflects the discarded outcome. A debug session - /// parked at such a target would diverge from the recording as soon as its target advances - /// past the marker, so the target is rejected up front. + /// Without the marker replay would use the legacy behavior and deliver at the `End`, either + /// delivering a discarded completion or delivering a successful completion too early. A + /// debug session parked at such a target would therefore diverge from the recording, so the + /// target is rejected up front. /// /// Regions dropped by `Jump` or `Revert` entries are excluded on both sides, mirroring how /// replay skips them: a marker in a dropped region never influences replay, and an `End` in /// a dropped region is never resolved from. - pub async fn find_split_discarded_completion_at( + pub async fn find_split_completion_delivery_at( raw_oplog: Arc, target_index: OplogIndex, ) -> Option<(OplogIndex, OplogIndex, OplogIndex)> { @@ -361,7 +360,7 @@ impl DebugServiceDefault { // start_index -> End index, for End entries at or before the target let mut ends: std::collections::BTreeMap = std::collections::BTreeMap::new(); - // marker index -> start_index, for CompletionDiscarded entries after the target + // marker index -> start_index, for completion-delivery entries after the target let mut markers: std::collections::BTreeMap = std::collections::BTreeMap::new(); @@ -377,7 +376,10 @@ impl DebugServiceDefault { OplogEntry::End { start_index, .. } if *idx <= target_index => { ends.insert(*start_index, *idx); } - OplogEntry::CompletionDiscarded { start_index, .. } if *idx > target_index => { + OplogEntry::CompletionDiscarded { start_index, .. } + | OplogEntry::CompletionDelivered { start_index, .. } + if *idx > target_index => + { markers.insert(*idx, *start_index); } OplogEntry::Jump { jump, .. } => { @@ -600,17 +602,16 @@ impl DebugService for DebugServiceDefault { }); } - // Refuse targets that split a completed durable call's `End` from its - // `CompletionDiscarded` marker: replay to such a target would deliver a completion the - // recorded execution never observed, diverging from the recording as soon as the target - // advances past the marker. + // Refuse targets that split a completed durable call's `End` from its delivery marker: + // without the marker replay would deliver at the End, either incorrectly delivering a + // discarded completion or delivering a successful completion too early. if let Some((start_index, end_index, marker_index)) = - Self::find_split_discarded_completion_at(raw_oplog.clone(), new_target_index).await + Self::find_split_completion_delivery_at(raw_oplog.clone(), new_target_index).await { return Err(DebugServiceError::ValidationFailed { agent_id: Some(agent_id.clone()), errors: vec![format!( - "Playback target index {new_target_index} splits a durable call's completion from its recorded delivery status: the call started at oplog index {start_index} completed at {end_index}, but its completion was discarded before reaching the guest (CompletionDiscarded marker at {marker_index}). Replaying to this target would deliver a completion the recorded execution never observed; choose a target index before the call's completion or at/after the marker" + "Playback target index {new_target_index} splits a durable call's completion from its recorded delivery outcome: the call started at oplog index {start_index}, completed at {end_index}, and has a delivery marker at {marker_index}. Replaying to this target would use legacy End-time delivery instead of the recorded outcome; choose a target index before the call's completion or at/after the marker" )], }); } @@ -782,16 +783,15 @@ impl DebugService for DebugServiceDefault { }); } - // Refuse targets that split a completed durable call's `End` from its - // `CompletionDiscarded` marker, exactly like playback: replay to such a target would - // deliver a completion the recorded execution never observed. + // Refuse targets that split a completed durable call's `End` from its delivery marker, + // exactly like playback. if let Some((start_index, end_index, marker_index)) = - Self::find_split_discarded_completion_at(raw_oplog.clone(), new_target_index).await + Self::find_split_completion_delivery_at(raw_oplog.clone(), new_target_index).await { return Err(DebugServiceError::ValidationFailed { agent_id: Some(owned_agent_id.agent_id.clone()), errors: vec![format!( - "Rewind target index {new_target_index} splits a durable call's completion from its recorded delivery status: the call started at oplog index {start_index} completed at {end_index}, but its completion was discarded before reaching the guest (CompletionDiscarded marker at {marker_index}). Replaying to this target would deliver a completion the recorded execution never observed; choose a target index before the call's completion or at/after the marker" + "Rewind target index {new_target_index} splits a durable call's completion from its recorded delivery outcome: the call started at oplog index {start_index}, completed at {end_index}, and has a delivery marker at {marker_index}. Replaying to this target would use legacy End-time delivery instead of the recorded outcome; choose a target index before the call's completion or at/after the marker" )], }); } @@ -1019,6 +1019,13 @@ mod tests { } } + fn delivered_entry(start_index: u64) -> OplogEntry { + OplogEntry::CompletionDelivered { + timestamp: Timestamp::now_utc(), + start_index: OplogIndex::from_u64(start_index), + } + } + fn jump_entry(start: u64, end: u64) -> OplogEntry { OplogEntry::Jump { timestamp: Timestamp::now_utc(), @@ -1040,7 +1047,7 @@ mod tests { } async fn split_at(entries: Vec, target: u64) -> Option<(u64, u64, u64)> { - DebugServiceDefault::find_split_discarded_completion_at( + DebugServiceDefault::find_split_completion_delivery_at( Arc::new(SeqOplog { entries }), OplogIndex::from_u64(target), ) @@ -1061,6 +1068,15 @@ mod tests { assert_eq!(split_at(entries, 4).await, None); } + #[test] + async fn split_delivered_completion_is_rejected_between_end_and_marker() { + let entries = vec![noop_entry(), end_entry(1), noop_entry(), delivered_entry(1)]; + assert_eq!(split_at(entries.clone(), 2).await, Some((1, 2, 4))); + assert_eq!(split_at(entries.clone(), 3).await, Some((1, 2, 4))); + assert_eq!(split_at(entries.clone(), 1).await, None); + assert_eq!(split_at(entries, 4).await, None); + } + #[test] async fn split_check_ignores_calls_completing_after_the_target() { // End and marker both lie after the target: the in-flight validator's domain, not a @@ -1117,6 +1133,13 @@ mod tests { unimplemented!() } + fn enqueue_add( + &self, + _entry: OplogEntry, + ) -> golem_worker_executor::services::oplog::OplogAddReceipt { + Box::pin(async { unimplemented!() }) + } + async fn add_pair( &self, _start: OplogEntry, @@ -1215,6 +1238,13 @@ mod tests { unimplemented!() } + fn enqueue_add( + &self, + _entry: OplogEntry, + ) -> golem_worker_executor::services::oplog::OplogAddReceipt { + Box::pin(async { unimplemented!() }) + } + async fn add_pair( &self, _start: OplogEntry, diff --git a/golem-test-framework/src/dsl/debug_render.rs b/golem-test-framework/src/dsl/debug_render.rs index be6deed760..34f0d7b8dd 100644 --- a/golem-test-framework/src/dsl/debug_render.rs +++ b/golem-test-framework/src/dsl/debug_render.rs @@ -99,6 +99,11 @@ pub fn debug_render_oplog_entry(entry: &PublicOplogEntry) -> String { let _ = writeln!(result, "{pad}at: {}", params.timestamp); let _ = writeln!(result, "{pad}start index: {}", params.start_index); } + PublicOplogEntry::CompletionDelivered(params) => { + let _ = writeln!(result, "COMPLETION DELIVERED"); + let _ = writeln!(result, "{pad}at: {}", params.timestamp); + let _ = writeln!(result, "{pad}start index: {}", params.start_index); + } PublicOplogEntry::AgentInvocationStarted(params) => { let _ = writeln!(result, "AGENT INVOCATION STARTED"); let _ = writeln!(result, "{pad}at: {}", params.timestamp); diff --git a/golem-worker-executor-test-utils/src/lib.rs b/golem-worker-executor-test-utils/src/lib.rs index 34b4d66273..8cae5999c9 100644 --- a/golem-worker-executor-test-utils/src/lib.rs +++ b/golem-worker-executor-test-utils/src/lib.rs @@ -113,7 +113,9 @@ use golem_worker_executor::services::golem_config::{ ResourceLimitsDisabledConfig, SchedulerStorageConfig, SnapshotPolicy, }; use golem_worker_executor::services::key_value::{DefaultKeyValueService, KeyValueService}; -use golem_worker_executor::services::oplog::{CommitLevel, Oplog, OplogService, OrderedOplogStart}; +use golem_worker_executor::services::oplog::{ + CommitLevel, Oplog, OplogAddReceipt, OplogService, OrderedOplogStart, +}; use golem_worker_executor::services::promise::PromiseService; use golem_worker_executor::services::quota::QuotaService; use golem_worker_executor::services::rdbms::ignite::IgniteType; @@ -2548,7 +2550,7 @@ struct TestOplog { oplog: Arc, additional_test_deps: AdditionalTestDeps, /// Indices of `Start` entries this agent appended for durable consume-body - /// chunk reads, so the gated `add` below can recognize their matching `End` + /// chunk reads, so the gated append below can recognize their matching `End` /// appends (an `End` only carries its `start_index`). consume_body_chunk_starts: Arc>>, } @@ -2677,6 +2679,19 @@ impl Oplog for TestOplog { index } + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + let gated = self.is_consume_body_chunk_data_end(&entry); + let pending = self.oplog.enqueue_add(entry); + let this = self.clone(); + Box::pin(async move { + let index = pending.await; + if gated { + this.pause_at_consume_body_chunk_end_gate().await; + } + index + }) + } + async fn fallible_add(&self, entry: OplogEntry) -> Result<(), String> { self.check_oplog_add(&entry).await?; self.oplog.fallible_add(entry).await @@ -3111,7 +3126,7 @@ impl AdditionalTestDeps { /// A one-shot pause point at an agent's first consume-body chunk `End` append, /// shared between [`AdditionalTestDeps`] (which arms it) and the agent's -/// [`TestOplog`] (which trips it). The gated `Oplog::add` fires `appended_tx` +/// [`TestOplog`] (which trips it). The gated append fires `appended_tx` /// only after the underlying oplog append returned — the `End` is durable — and /// then blocks until a `release` permit arrives, so a test can act (e.g. make /// the guest drop the body reader) in between with both sides settled. @@ -3123,7 +3138,7 @@ struct ConsumeBodyChunkEndGate { /// Test-facing side of a [`ConsumeBodyChunkEndGate`]: await [`Self::appended`] /// to learn that the gated chunk `End` is durable and the producer is paused, -/// then [`Self::release`] to let the paused `Oplog::add` return. +/// then [`Self::release`] to let the paused append return. pub struct ConsumeBodyChunkEndGateHandle { appended_rx: tokio::sync::oneshot::Receiver<()>, gate: Arc, diff --git a/golem-worker-executor/src/durable_host/concurrent/access.rs b/golem-worker-executor/src/durable_host/concurrent/access.rs index e60f9ab744..ac88b237f3 100644 --- a/golem-worker-executor/src/durable_host/concurrent/access.rs +++ b/golem-worker-executor/src/durable_host/concurrent/access.rs @@ -28,8 +28,8 @@ enum AccessTerminalGuardState { /// so the call stays counted as in flight while the append is still pending. live_call_permit: Option, /// `Some` while a torn drop must record a `CompletionDiscarded` marker (successful `End` - /// path, no error observed by the caller yet); see [`DiscardMarker`]. - discard_marker: Option, + /// path, no error observed by the caller yet); see [`CompletionMarkerRecord`]. + discard_marker: Option, }, Disarmed, } @@ -89,7 +89,7 @@ impl AccessTerminalGuard

{ pub(super) fn cleanup_after_terminal( &mut self, terminal: tokio::task::JoinHandle>, - discard_marker: Option, + discard_marker: Option, ) { let call = match std::mem::replace(&mut self.state, AccessTerminalGuardState::Disarmed) { AccessTerminalGuardState::BeforeTerminal { call } => call, @@ -161,7 +161,7 @@ impl AccessTerminalGuard

{ // Normally already joined (`wait_terminal`) by the time the guard is // converted; chained defensively so a still-pending terminal append can never // be overtaken by a marker append. - pending_append: terminal, + pending_append: terminal.map(OrderedAppend::Task), })), }, _ => CompletionDelivery::unarmed(), @@ -184,14 +184,14 @@ impl Drop for AccessTerminalGuard

{ live_call_permit, discard_marker, } => { - // A torn drop with the marker still armed: the guest discarded a persisted - // successful completion. Chain the owned marker append after the terminal task - // and let the chained handle take the terminal's place in the drop event, so - // drains (and thus invocation completion) await the marker append too. The task - // is spawned unconditionally — marker recording must not depend on the event - // surviving the drain. + // A torn drop with the marker still armed: queue a discarded marker after the + // terminal task, then let a receipt-waiting task take the terminal's place in the + // cleanup event so invocation completion awaits the marker too. let terminal = match discard_marker { - Some(marker) => Some(marker.spawn_chained(terminal)), + Some(marker) => Some(task_for_marker_receipt(marker.record( + CompletionMarkerKind::Discarded, + terminal.map(OrderedAppend::Task), + ))), None => terminal, }; if let Some(sink) = &self.cleanup_sink { diff --git a/golem-worker-executor/src/durable_host/concurrent/call.rs b/golem-worker-executor/src/durable_host/concurrent/call.rs index dd34686a63..417d2889c6 100644 --- a/golem-worker-executor/src/durable_host/concurrent/call.rs +++ b/golem-worker-executor/src/durable_host/concurrent/call.rs @@ -754,30 +754,27 @@ impl CallHandle { } } - /// Supersedes any completion-delivery observer still armed on this accessor's host subtask - /// once this call owns a persisted live `Start`. + /// Enforces that no completion-delivery observer is still armed on this accessor's host + /// subtask once this call owns a persisted live `Start`. /// - /// Such an observer belongs to an *earlier* durable call in the same host function whose - /// response has already been consumed internally by host code (see - /// [`CompletionDelivery::deliver_at_accessor_terminal`]): the guest can no longer discard - /// that completion individually — only the whole host call's terminal — and replay - /// re-executes the host code past its `End` deterministically, re-consuming the response - /// internally. So no `CompletionDiscarded` marker is needed, and the observer's - /// [`LiveCallPermit`] must not keep blocking suspension (e.g. for the whole duration of a - /// subsequent suspendable wait such as `monotonic-clock.wait-for`). Clearing the observer - /// drops its guard, which suppresses the token and releases the permit; the follow-up drain - /// joins any ordered append the superseded token parked in the drain queue, so its oplog - /// ordering and settlement accounting survive. + /// An armed observer here would belong to an *earlier* durable call in the same host + /// function whose response host code consumed internally before issuing this call. That + /// pattern is forbidden: [`CompletionDelivery::deliver_at_accessor_terminal`] must be the + /// tail operation of its host function. The invariant is what lets replay withhold a + /// markerless completed `End` until the recorded tail exhausts — a completion consumed + /// host-internally would legitimize durable tail entries that depend on an unmarked + /// delivery, silently re-opening the crash window that tail-gating closes. So instead of + /// tolerating the handoff, finding an armed observer is a hard error. /// - /// This handoff is only performed once *this* call is a persisted live barrier (never for - /// replay or snapshotting handles): until then the prior observer must stay armed so a guest + /// Clearing the observer drops its guard, which suppresses the token (no marker) and + /// releases its [`LiveCallPermit`]; the follow-up drain joins anything the suppressed token + /// parked in the drain queue before the error escapes, so settlement accounting stays + /// consistent while the worker traps. + /// + /// The check only runs once *this* call is a persisted live barrier (never for replay or + /// snapshotting handles): until then a prior observer legitimately stays armed so a guest /// cancellation landing before this call's `Start` still records its `CompletionDiscarded` /// marker and parks replay at the prior call. - /// - /// Invariant required of host functions: after this supersession, a failure of this call - /// must either arm a newer observer (via its own completion) or escape as a - /// trap/cancellation — host code must not swallow the failure and return a successful outer - /// result derived from the superseded completion with no observer armed. async fn supersede_prior_completion_delivery( &mut self, store: &Accessor, @@ -791,16 +788,30 @@ impl CallHandle { if !(self.is_live && self.persisted) { return Ok(()); } - if let Err(error) = store.clear_terminal_observer() { + let cleared = match store.clear_terminal_observer() { + Ok(cleared) => cleared, + Err(error) => { + self.abandon_for_trap(); + return Err(WorkerExecutorError::runtime(format!( + "failed to inspect the accessor completion observer: {error}" + ))); + } + }; + if cleared { + // Drain first so the suppressed observer's parked bookkeeping settles before the + // error escapes. + if let Err(err) = drain_dropped_call_events_access(store, get_ctx).await { + self.abandon_for_trap(); + return Err(err.source); + } self.abandon_for_trap(); return Err(WorkerExecutorError::runtime(format!( - "failed to supersede prior accessor completion observer: {error}" + "a completion-delivery observer of an earlier durable call was still armed when \ + durable call {} started on the same host subtask: \ + deliver_at_accessor_terminal must be the tail operation of its host function", + self.start_idx ))); } - if let Err(err) = drain_dropped_call_events_access(store, get_ctx).await { - self.abandon_for_trap(); - return Err(err.source); - } Ok(()) } @@ -1805,7 +1816,10 @@ impl CallHandle { // the token to Wasmtime's terminal observer synchronously (no tear window exists between // the impl returning and this call) — the observer settles it when the guest actually // consumes (or discards) the lowered result. - delivery.deliver_at_accessor_terminal(store); + delivery + .deliver_at_accessor_terminal(store) + .await + .map_err(|source| TerminalCallError::new(source, context))?; Ok(response) } @@ -1864,9 +1878,12 @@ impl CallHandle { let function_type = self.retry.function_type().clone(); let begin_index = self.begin_index; { - let (oplog, replay_state) = store.with(|mut access| { + let (oplog, completion_marker_recorder) = store.with(|mut access| { let ctx = get_ctx(access.data_mut()); - (ctx.state.oplog.clone(), ctx.state.replay_state.clone()) + ( + ctx.state.oplog.clone(), + ctx.state.completion_marker_recorder(), + ) }); let mut guard = AccessTerminalGuard::

::new( self.dropped_call_snapshot(self.live_call_permit.clone()), @@ -1877,7 +1894,7 @@ impl CallHandle { let persist_result: Result<(), WorkerExecutorError> = if self.persisted { Self::persist_access_terminal( oplog, - replay_state, + completion_marker_recorder, &mut guard, self.start_idx, &response, @@ -1943,7 +1960,7 @@ impl CallHandle { /// function against a gated oplog to keep that invariant observable. pub(super) async fn persist_access_terminal( oplog: Arc, - replay_state: ReplayState, + completion_marker_recorder: CompletionMarkerRecorder, guard: &mut AccessTerminalGuard

, start_idx: OplogIndex, response: &Pair::Resp, @@ -1960,15 +1977,19 @@ impl CallHandle { &host_response, ) .await?; - let terminal_oplog = oplog.clone(); + // Reserve both entries synchronously in oplog order before arming the terminal guard. A + // tear may queue a completion marker immediately, and that marker must never overtake an + // unpolled spawned append task. + let end_append = oplog.enqueue_add(end); + let post_end_append = post_end_entry.map(|entry| oplog.enqueue_add(entry)); let terminal = tokio::spawn(async move { - terminal_oplog.add(end).await; + end_append.await; // A deferred-delivery call's mandatory post-`End` entry (e.g. its durable // `FinishSpan`) is appended by the same owned task: it is recorded even when the // completing future is torn right after the `End`, so replay can rely on it // unconditionally following the `End` (any discard marker chains after this task). - if let Some(entry) = post_end_entry { - terminal_oplog.add(entry).await; + if let Some(append) = post_end_append { + append.await; } Ok(()) }); @@ -1977,10 +1998,9 @@ impl CallHandle { // *during* `wait_terminal` still counts — the owned task appends the `End` regardless). guard.cleanup_after_terminal( terminal, - Some(DiscardMarker { + Some(CompletionMarkerRecord { start_idx, - oplog, - replay_state, + recorder: completion_marker_recorder, }), ); guard.wait_terminal().await @@ -2010,7 +2030,21 @@ impl CallHandle { .await_resolution_outcome(replay) .await?; match classify_replay_resolution(outcome) { - ReplayedResolution::Delivered(payload) => { + ReplayedResolution::Delivered(payload, disposition) => { + if let ReplayDeliveryDisposition::AtMarker(marker_idx) = disposition { + self.finished = true; + return Err(WorkerExecutorError::unexpected_oplog_entry( + "a completion-delivery marker for an accessor durable call", + format!( + "CompletionDelivered at {marker_idx} references non-accessor durable call Start at {}", + self.start_idx + ), + )); + } + // `Immediate` and `AtReplayTail` both deliver at the host return: the direct + // path's guest task is synchronously blocked inside the host call, so delivery + // coincides with the host return and has no pre-delivery divergence window. + // // Terminal: mark finished up front so a decode / scope-close failure below does not // drop the (replay) handle as "unfinished". self.finished = true; @@ -2050,9 +2084,13 @@ impl CallHandle { self.ensure_accessor_terminal_supported("replay_access")?; let function_type = self.retry.function_type().clone(); let begin_index = self.begin_index; - let (replay_state, oplog) = store.with(|mut access| { + let (replay_state, oplog, completion_marker_recorder) = store.with(|mut access| { let ctx = get_ctx(access.data_mut()); - (ctx.state.replay_state.clone(), ctx.state.oplog.clone()) + ( + ctx.state.replay_state.clone(), + ctx.state.oplog.clone(), + ctx.state.completion_marker_recorder(), + ) }); let replay = self .replay @@ -2060,11 +2098,20 @@ impl CallHandle { .expect("replay_access() called on a live handle"); let outcome = replay_state.await_resolution_outcome(replay).await?; match classify_replay_resolution(outcome) { - ReplayedResolution::Delivered(payload) => { + ReplayedResolution::Delivered(payload, disposition) => { self.finished = true; let response = decode_replayed_payload::(&oplog, payload).await?; end_durable_function_access(store, get_ctx, function_type, begin_index, false) .await?; + CompletionDelivery::replay_delivered( + disposition, + self.start_idx, + completion_marker_recorder, + self.trap_context(), + self.cleanup_sink.clone(), + ) + .deliver_at_accessor_terminal(store) + .await?; Ok(CallReplayOutcome::Replayed(response)) } ReplayedResolution::Undelivered(terminal) => { @@ -2125,9 +2172,13 @@ impl CallHandle { self.ensure_accessor_terminal_supported("replay_access_deferred")?; let function_type = self.retry.function_type().clone(); let begin_index = self.begin_index; - let (replay_state, oplog) = store.with(|mut access| { + let (replay_state, oplog, completion_marker_recorder) = store.with(|mut access| { let ctx = get_ctx(access.data_mut()); - (ctx.state.replay_state.clone(), ctx.state.oplog.clone()) + ( + ctx.state.replay_state.clone(), + ctx.state.oplog.clone(), + ctx.state.completion_marker_recorder(), + ) }); let replay = self .replay @@ -2135,7 +2186,7 @@ impl CallHandle { .expect("replay_access_deferred() called on a live handle"); let outcome = replay_state.await_resolution_outcome(replay).await?; match classify_replay_resolution(outcome) { - ReplayedResolution::Delivered(payload) => { + ReplayedResolution::Delivered(payload, disposition) => { self.finished = true; let response = decode_replayed_payload::(&oplog, payload).await?; end_durable_function_access(store, get_ctx, function_type, begin_index, false) @@ -2145,7 +2196,13 @@ impl CallHandle { // unconsumed-token warning. Ok(DeferredCallReplayOutcome::Replayed( response, - CompletionDelivery::replay_delivered(), + CompletionDelivery::replay_delivered( + disposition, + self.start_idx, + completion_marker_recorder, + self.trap_context(), + self.cleanup_sink.clone(), + ), )) } ReplayedResolution::Undelivered(UndeliveredTerminal::CompletionDiscarded { @@ -2533,9 +2590,11 @@ impl UndeliveredTerminal { /// [`UndeliveredTerminal`]). #[derive(Debug)] pub(super) enum ReplayedResolution { - /// The recorded run delivered this payload to the guest: decode it, close the durable scope, - /// and return the response. - Delivered(ReplayedPayload), + /// The recorded run delivered (or, for a markerless completed `End`, must still deliver) + /// this payload to the guest: decode it, close the durable scope, run its deterministic + /// post-`End` continuation, then gate the guest handoff according to the + /// [`ReplayDeliveryDisposition`]. + Delivered(ReplayedPayload, ReplayDeliveryDisposition), /// The recorded terminal never reached the guest. Undelivered(UndeliveredTerminal), /// The call's `Start` was committed but its terminal never was: candidate for live repair @@ -2550,16 +2609,29 @@ pub(super) enum ReplayedResolution { pub(super) fn classify_replay_resolution(outcome: ResolutionOutcome) -> ReplayedResolution { match outcome { ResolutionOutcome::Incomplete => ReplayedResolution::Incomplete, - ResolutionOutcome::Resolved(Resolution::Completed { response, .. }) => { - ReplayedResolution::Delivered(ReplayedPayload::Completed(response)) - } + ResolutionOutcome::Resolved(Resolution::Completed { + response, + delivery_marker, + .. + }) => ReplayedResolution::Delivered( + ReplayedPayload::Completed(response), + match delivery_marker { + Some(marker_idx) => ReplayDeliveryDisposition::AtMarker(marker_idx), + // A completed `End` without a delivery marker: the recorded run crashed after + // the `End` became durable but before the completion crossed to the guest. + None => ReplayDeliveryDisposition::AtReplayTail, + }, + ), ResolutionOutcome::Resolved(Resolution::Cancelled { cancelled_idx, partial, }) => match partial { - Some(payload) => { - ReplayedResolution::Delivered(ReplayedPayload::CancelledPartial(payload)) - } + Some(payload) => ReplayedResolution::Delivered( + ReplayedPayload::CancelledPartial(payload), + // A cancellation's partial result is delivered at the guest-initiated (and + // therefore deterministic) cancellation point: never marker-bearing, no gating. + ReplayDeliveryDisposition::Immediate, + ), // `Cancelled` with no partial result: in the recorded run this call never returned a // value to the guest — its future was dropped mid-flight. None => ReplayedResolution::Undelivered(UndeliveredTerminal::CancelledWithoutPartial { diff --git a/golem-worker-executor/src/durable_host/concurrent/delivery.rs b/golem-worker-executor/src/durable_host/concurrent/delivery.rs index b3899bdc92..d178cc6b64 100644 --- a/golem-worker-executor/src/durable_host/concurrent/delivery.rs +++ b/golem-worker-executor/src/durable_host/concurrent/delivery.rs @@ -14,59 +14,133 @@ use super::*; -/// Everything needed to append a `CompletionDiscarded` marker from an owned task when an armed -/// [`AccessTerminalGuard`] is dropped: the guest tore the accessor completion future *after* the -/// successful `End` append was handed to its owned task, so the response was persisted but never -/// delivered. Armed only on the `End` path ([`CallHandle::persist_access_terminal`]) — never for -/// cancellations — and explicitly suppressed on internal-error returns the caller observes -/// ([`AccessTerminalGuard::suppress_discard_marker`]), so a marker is recorded exactly when the -/// completion was silently discarded by the guest. -pub(super) struct DiscardMarker { - pub(super) start_idx: OplogIndex, - pub(super) oplog: Arc, - pub(super) replay_state: ReplayState, +pub(super) type MarkerReceipt = tokio::sync::oneshot::Receiver>; + +#[derive(Debug, Clone, Copy)] +pub(super) enum CompletionMarkerKind { + Delivered, + Discarded, } -impl DiscardMarker { - /// Appends the `CompletionDiscarded` marker entry and records it in the replay state. The - /// terminal `End` append (and any ordered post-`End` append, e.g. a `FinishSpan`) must - /// already be durable when this runs. - async fn append(self) { - let marker_idx = self - .oplog - .add(OplogEntry::CompletionDiscarded { - timestamp: Timestamp::now_utc(), - start_index: self.start_idx, - }) - .await; - self.replay_state - .record_discarded_completion(self.start_idx, marker_idx); +pub(super) enum OrderedAppend { + Receipt(crate::services::oplog::OplogAddReceipt), + Task(tokio::task::JoinHandle>), +} + +impl OrderedAppend { + async fn wait(self) -> Result<(), WorkerExecutorError> { + match self { + Self::Receipt(receipt) => { + receipt.await; + Ok(()) + } + Self::Task(task) => task.await.map_err(|err| { + WorkerExecutorError::runtime(format!("ordered oplog append task failed: {err}")) + })?, + } } +} - /// Spawns the owned marker-recording task, chained after the (possibly still pending) owned - /// terminal `End` append. Returns the chained handle, which replaces the terminal handle in - /// the emitted [`DropEvent::CleanupAfterTerminal`], so every existing drain that joins the - /// terminal also awaits the marker append — invocation completion cannot overtake it. The - /// task is detached (`tokio::spawn`): even if the drain future itself is torn and the event - /// is lost, the marker append still runs to completion. - pub(super) fn spawn_chained( - self, - terminal: Option>>, - ) -> tokio::task::JoinHandle> { +/// Records successful-completion delivery markers in the exact order their guest boundaries occur. +/// Recording is initiated synchronously from Wasmtime's terminal observer and reserves the marker's +/// oplog position before returning; only waiting for the append is asynchronous. +#[derive(Clone, Debug)] +pub(in crate::durable_host) struct CompletionMarkerRecorder { + oplog: Arc, + replay_state: ReplayState, +} + +impl CompletionMarkerRecorder { + pub(in crate::durable_host) fn new(oplog: Arc, replay_state: ReplayState) -> Self { + Self { + oplog, + replay_state, + } + } + + pub(super) fn record( + &self, + start_idx: OplogIndex, + kind: CompletionMarkerKind, + pending_append: Option, + ) -> MarkerReceipt { + let entry = match kind { + CompletionMarkerKind::Delivered => OplogEntry::CompletionDelivered { + timestamp: Timestamp::now_utc(), + start_index: start_idx, + }, + CompletionMarkerKind::Discarded => OplogEntry::CompletionDiscarded { + timestamp: Timestamp::now_utc(), + start_index: start_idx, + }, + }; + + // This call reserves the marker in the same oplog actor queue as every subsequent durable + // operation before Wasmtime can enter the guest callback. + let marker_append = self.oplog.enqueue_add(entry); + let replay_state = self.replay_state.clone(); + let (done, receipt) = tokio::sync::oneshot::channel(); tokio::spawn(async move { - if let Some(handle) = terminal { - handle.await.map_err(|err| { - WorkerExecutorError::runtime(format!( - "durable call terminal recorder task failed: {err}" - )) - })??; + if let Some(append) = pending_append + && let Err(error) = append.wait().await + { + let _ = done.send(Err(error)); + return; } - self.append().await; - Ok(()) - }) + let marker_idx = marker_append.await; + match kind { + CompletionMarkerKind::Delivered => { + replay_state.record_delivered_completion(start_idx, marker_idx) + } + CompletionMarkerKind::Discarded => { + replay_state.record_discarded_completion(start_idx, marker_idx) + } + } + let _ = done.send(Ok(())); + }); + receipt } } +pub(super) struct CompletionMarkerRecord { + pub(super) start_idx: OplogIndex, + pub(super) recorder: CompletionMarkerRecorder, +} + +impl CompletionMarkerRecord { + pub(super) fn record( + self, + kind: CompletionMarkerKind, + pending_append: Option, + ) -> MarkerReceipt { + self.recorder.record(self.start_idx, kind, pending_append) + } +} + +pub(super) async fn await_marker_receipt( + receipt: &mut MarkerReceipt, +) -> Result<(), WorkerExecutorError> { + receipt.await.map_err(|_| { + WorkerExecutorError::runtime( + "completion-marker recorder dropped a command without replying", + ) + })? +} + +fn receipt_for_pending_append(append: OrderedAppend) -> MarkerReceipt { + let (done, receipt) = tokio::sync::oneshot::channel(); + tokio::spawn(async move { + let _ = done.send(append.wait().await); + }); + receipt +} + +pub(super) fn task_for_marker_receipt( + mut receipt: MarkerReceipt, +) -> tokio::task::JoinHandle> { + tokio::spawn(async move { await_marker_receipt(&mut receipt).await }) +} + /// A deferred guest-delivery token returned by [`CallHandle::complete_access_deferred`] / /// [`CallHandle::replay_access_deferred`] for call sites whose result crosses one more fallible /// boundary *after* the durable terminal is recorded — a second-stage channel send to the guest @@ -76,7 +150,8 @@ impl DiscardMarker { /// and the real delivery, which replay would otherwise deliver. /// /// Live, the token stays armed after the `End` is persisted and the durable scope is closed: -/// - [`Self::delivered`] — the final guest-facing transfer succeeded; no marker. +/// - [`Self::delivered`] — the final guest-facing transfer succeeded; records a +/// `CompletionDelivered` marker at that boundary. /// - [`Self::suppress`] — a post-`End` error is observed by the caller (the worker traps); no /// marker. /// - [`Self::discarded`] — the caller detected a silent discard (e.g. the guest dropped the @@ -84,14 +159,13 @@ impl DiscardMarker { /// inline and returns once it is durable. /// - `Drop` while armed — the delivering future itself was torn; spawns exactly one owned marker /// append (ordered after any pending [`Self::append_ordered`] entry) and hands its join plus -/// the in-flight [`LiveCallPermit`] to the drain queue via [`DropEvent::AwaitDiscardMarker`], +/// the in-flight [`LiveCallPermit`] to the drain queue via [`DropEvent::AwaitCompletionMarker`], /// so invocation settlement cannot overtake the append. /// -/// On replay the token mirrors the recorded delivery status: [`Self::is_replay_discarded`] -/// reports whether the recorded run discarded the completion, in which case the caller must not -/// deliver — it performs its deterministic post-`End` continuation (span consumption, terminal -/// bookkeeping) and parks at the exact point where live delivery would have happened. All token -/// operations are no-ops on replay. +/// On replay the token mirrors the recorded delivery status. A discarded completion parks at its +/// delivery boundary. A delivered completion first lets the host-side post-`End` continuation run, +/// then [`Self::prepare_delivery`] consumes its exact `CompletionDelivered` marker and holds the +/// global replay cursor until [`Self::delivered`] observes the actual guest-facing boundary. pub struct CompletionDelivery { pub(super) state: CompletionDeliveryState, } @@ -101,8 +175,9 @@ pub(super) enum CompletionDeliveryState { Live(Box), /// Live, but the call was not persisted (snapshotting): nothing to reconcile. Unarmed, - /// Replay of a normally delivered completion. - ReplayDelivered, + /// Replay of a recorded terminal the guest observed (or must observe): see [`ReplayDelivery`] + /// for the per-disposition gating. + ReplayDelivered(ReplayDelivery), /// Replay of a recorded discarded completion: the caller must not deliver and parks at the /// delivery boundary. ReplayDiscarded, @@ -110,19 +185,84 @@ pub(super) enum CompletionDeliveryState { Done, } +/// How a replayed guest-observed terminal is gated before it may cross to the guest. Produced +/// from a [`ReplayDeliveryDisposition`] by [`CompletionDelivery::replay_delivered`]. +pub(super) enum ReplayDelivery { + /// A guest-observed terminal that never carries a marker: a cancelled call's recorded partial + /// result, delivered at the guest-initiated (and therefore deterministic) cancellation point. + /// Nothing to gate or reconcile. + Immediate, + /// A completed `End` with a recorded `CompletionDelivered` marker: delivery is gated on + /// consuming that exact marker ([`CompletionDelivery::prepare_delivery`]). + AtMarker { + replay_state: ReplayState, + start_index: OplogIndex, + marker_index: OplogIndex, + }, + /// The marker was consumed: the token owns the global cursor gate until the actual guest + /// boundary acknowledges it. + Armed(crate::durable_host::replay_state::ReplayDeliveryBarrier), + /// A completed `End` with no delivery marker: the recorded run crashed after the `End` became + /// durable but before the completion crossed to the guest. Delivery is withheld until the + /// replay tail naturally exhausts ([`ReplayState::await_natural_tail_end`]) — no tail entry + /// can depend on the never-happened delivery (a marker would precede any dependent entry) — + /// and the token then converts to live-armed so the eventual real delivery or discard records + /// its marker durably. + AtReplayTail(Box), +} + +impl ReplayDelivery { + fn fail(self, reason: impl Into) -> WorkerExecutorError { + let reason = reason.into(); + match self { + Self::Immediate => {} + Self::AtMarker { + replay_state, + start_index, + marker_index, + } => replay_state.fail_completion_delivery(start_index, marker_index, reason.clone()), + Self::Armed(barrier) => barrier.fail(reason.clone()), + // A still-tail-gated token settles silently: no marker exists and none may be + // appended during replay, so the `End` simply stays markerless and the next recovery + // tail-gates it again — exactly the recorded state. + Self::AtReplayTail(_) => {} + } + WorkerExecutorError::runtime(format!( + "replay could not reproduce a recorded successful completion delivery: {reason}" + )) + } +} + +/// Pure classification of how a replayed guest-observed terminal must be gated, produced by +/// [`super::call::classify_replay_resolution`] and consumed by +/// [`CompletionDelivery::replay_delivered`]. The direct (non-accessor) replay path rejects +/// [`Self::AtMarker`] (markers are recorded only on accessor paths) and ignores the gating +/// otherwise: a direct call's guest task is synchronously blocked inside the host call, so its +/// delivery coincides with the host return and has no pre-delivery divergence window. +#[derive(Debug, Clone, Copy)] +pub(super) enum ReplayDeliveryDisposition { + /// A cancelled call's recorded partial result: guest-initiated, never marker-bearing. + Immediate, + /// A completed `End` with its recorded `CompletionDelivered` marker. + AtMarker(OplogIndex), + /// A completed `End` without a delivery marker (the recorded run crashed after the `End` + /// became durable but before the completion crossed to the guest). + AtReplayTail, +} + pub(super) struct LiveDelivery { - pub(super) marker: DiscardMarker, + pub(super) marker: CompletionMarkerRecord, pub(super) trap_context: DurableCallTrapContext, /// Keeps the call counted as in flight (for positional-boundary and snapshot checks) until /// the token is consumed or its drain event is processed. Settlement itself waits for the /// marker because both invocation exit paths drain the drop-event queue — joining any - /// [`DropEvent::AwaitDiscardMarker`] — before writing their final oplog state. + /// [`DropEvent::AwaitCompletionMarker`] — before writing their final oplog state. pub(super) live_call_permit: Option, pub(super) cleanup_sink: Option>, - /// An owned oplog append (e.g. a durable `FinishSpan`) that must land *before* any marker - /// append, preserving the recorded `End → FinishSpan → CompletionDiscarded` order replay - /// consumes positionally. See [`CompletionDelivery::append_ordered`]. - pub(super) pending_append: Option>>, + /// An oplog append (e.g. a durable `FinishSpan`) synchronously reserved before any marker, + /// preserving the recorded `End → FinishSpan → CompletionDiscarded` order replay consumes + /// positionally. See [`CompletionDelivery::append_ordered`]. + pub(super) pending_append: Option, } impl CompletionDelivery { @@ -132,9 +272,39 @@ impl CompletionDelivery { } } - pub(super) fn replay_delivered() -> Self { + /// Builds the replay token for a guest-observed terminal according to its recorded + /// [`ReplayDeliveryDisposition`]. `recorder`, `trap_context` and `cleanup_sink` are needed + /// only for [`ReplayDeliveryDisposition::AtReplayTail`], whose token converts to live-armed + /// once the replay tail exhausts (see [`Self::prepare_delivery`]); `live_call_permit` stays + /// `None` — a marker lost after a suspension just tail-gates the `End` again. + pub(super) fn replay_delivered( + disposition: ReplayDeliveryDisposition, + start_index: OplogIndex, + recorder: CompletionMarkerRecorder, + trap_context: DurableCallTrapContext, + cleanup_sink: Option>, + ) -> Self { Self { - state: CompletionDeliveryState::ReplayDelivered, + state: CompletionDeliveryState::ReplayDelivered(match disposition { + ReplayDeliveryDisposition::Immediate => ReplayDelivery::Immediate, + ReplayDeliveryDisposition::AtMarker(marker_index) => ReplayDelivery::AtMarker { + replay_state: recorder.replay_state.clone(), + start_index, + marker_index, + }, + ReplayDeliveryDisposition::AtReplayTail => { + ReplayDelivery::AtReplayTail(Box::new(LiveDelivery { + marker: CompletionMarkerRecord { + start_idx: start_index, + recorder, + }, + trap_context, + live_call_permit: None, + cleanup_sink, + pending_append: None, + })) + } + }), } } @@ -158,6 +328,52 @@ impl CompletionDelivery { matches!(self.state, CompletionDeliveryState::Live(_)) } + /// Positions replay at this completion's recorded guest-delivery boundary. All deterministic + /// host-side continuation after `End` must run before this call. + /// + /// For marker-bearing replay ([`ReplayDelivery::AtMarker`]) the token consumes its exact + /// `CompletionDelivered` marker and owns the global cursor gate until [`Self::delivered`] + /// acknowledges the actual callback/channel handoff. + /// + /// For markerless completed replay ([`ReplayDelivery::AtReplayTail`]) the delivery is + /// withheld until the recorded tail naturally exhausts — nothing in the tail can depend on + /// the never-happened delivery, while delivering earlier could make the replayed guest skip + /// recorded entries — and the token then converts to live-armed, so the eventual real + /// delivery or discard records its marker. Cancellation-safe: a tear mid-wait leaves the + /// token tail-gated and settles it silently, keeping the `End` markerless for the next + /// recovery. + /// + /// Live and immediate replay are no-ops. + pub async fn prepare_delivery(&mut self) -> Result<(), WorkerExecutorError> { + match &self.state { + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::AtMarker { + replay_state, + start_index, + marker_index, + }) => { + let (replay_state, start_index, marker_index) = + (replay_state.clone(), *start_index, *marker_index); + let barrier = replay_state + .await_completion_delivery(start_index, marker_index) + .await?; + self.state = + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::Armed(barrier)); + } + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::AtReplayTail(live)) => { + let replay_state = live.marker.recorder.replay_state.clone(); + replay_state.await_natural_tail_end().await?; + if let CompletionDeliveryState::ReplayDelivered(ReplayDelivery::AtReplayTail( + live, + )) = std::mem::replace(&mut self.state, CompletionDeliveryState::Done) + { + self.state = CompletionDeliveryState::Live(live); + } + } + _ => {} + } + Ok(()) + } + /// Hands an oplog entry append (e.g. a durable `FinishSpan`) to an owned task ordered /// *before* any later marker append by this token. Must be called with no `await` between /// the token's creation (or previous [`Self::wait_appends`]) and this call when the entry is @@ -165,19 +381,9 @@ impl CompletionDelivery { /// transferred atomically. No-op unless live and armed. pub fn append_ordered(&mut self, entry: OplogEntry) { if let CompletionDeliveryState::Live(live) = &mut self.state { - let oplog = live.marker.oplog.clone(); - let previous = live.pending_append.take(); - live.pending_append = Some(tokio::spawn(async move { - if let Some(handle) = previous { - handle.await.map_err(|err| { - WorkerExecutorError::runtime(format!( - "ordered post-End append task failed: {err}" - )) - })??; - } - oplog.add(entry).await; - Ok(()) - })); + live.pending_append = Some(OrderedAppend::Receipt( + live.marker.recorder.oplog.enqueue_add(entry), + )); } } @@ -185,22 +391,51 @@ impl CompletionDelivery { /// handle owned by the token, so the torn-drop marker append still chains after it. pub async fn wait_appends(&mut self) -> Result<(), WorkerExecutorError> { if let CompletionDeliveryState::Live(live) = &mut self.state - && let Some(handle) = &mut live.pending_append + && let Some(append) = live.pending_append.take() { - let result = handle.await.map_err(|err| { - WorkerExecutorError::runtime(format!("ordered post-End append task failed: {err}")) - }); - live.pending_append = None; - result??; + append.wait().await?; } Ok(()) } - /// The final guest-facing delivery succeeded: no marker. Consumes the token; any pending - /// ordered append keeps running as an owned task and its join (plus the in-flight permit) is - /// handed to the drain queue so settlement still waits for it. + /// The final guest-facing delivery succeeded. Synchronously queues a `CompletionDelivered` + /// command so callback handoffs are serialized in their observed order, then hands its receipt + /// and the in-flight permit to the drain queue. The next durable call and invocation settlement + /// both wait for the marker to become durable. pub fn delivered(mut self) { - self.settle(); + match std::mem::replace(&mut self.state, CompletionDeliveryState::Done) { + CompletionDeliveryState::Live(live) => { + let receipt = live + .marker + .record(CompletionMarkerKind::Delivered, live.pending_append); + Self::emit_await_event( + live.cleanup_sink, + receipt, + live.trap_context, + live.live_call_permit, + ); + } + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::Armed(barrier)) => { + barrier.acknowledge(); + } + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::Immediate) => {} + CompletionDeliveryState::ReplayDelivered(pending @ ReplayDelivery::AtMarker { .. }) => { + let _ = pending.fail("delivery occurred before its recorded marker was consumed"); + } + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::AtReplayTail(live)) => { + // A delivery boundary fired while the markerless completion was still + // tail-gated: the call site never awaited `prepare_delivery`. Poison replay + // loudly instead of silently re-opening the crash window this gate closes. + live.marker.recorder.replay_state.fail_tail_delivery( + live.marker.start_idx, + "delivery occurred while the markerless completion was still tail-gated \ + (prepare_delivery was never awaited)", + ); + } + CompletionDeliveryState::ReplayDiscarded + | CompletionDeliveryState::Unarmed + | CompletionDeliveryState::Done => {} + } } /// A post-`End` error is returned to (observed by) the caller — the worker traps — so the @@ -226,36 +461,64 @@ impl CompletionDelivery { /// which abandon the whole execution rather than silently discarding this one completion; /// replay re-executes the guest to the same point and redelivers) → [`Self::suppress`]. /// - /// Registering a newer observer for the same host subtask (a later durable call in the same - /// host function) supersedes this one, suppressing its token: once a later durable event is - /// recorded, replay re-executes the host code past this `End` deterministically and - /// re-consumes the response internally, so no marker is needed. + /// Starting a later durable call on the same host subtask while this observer is still armed + /// is a forbidden host-function pattern (see + /// [`CallHandle::supersede_prior_completion_delivery`], which hard-errors): host code must + /// arm the observer only as the tail operation of its host function. That invariant is what + /// lets a markerless `End` be tail-gated on replay — a completion consumed host-internally + /// would legitimize durable tail entries that depend on an unmarked delivery. /// /// Non-live tokens (replay, unpersisted snapshotting calls) settle immediately; if the /// accessor has no guest-visible host subtask (e.g. a spawned background task), the token /// settles without a marker, matching the pre-observer behavior of consuming it at the host - /// return. - pub fn deliver_at_accessor_terminal(self, store: &Accessor) + /// return. A tail-gated markerless replay token checks for that subtask *before* gating: + /// live never recorded a marker in such a context, and the same background task may have + /// recorded later durable calls in the tail, so gating would stall their claims — it + /// delivers immediately instead, mirroring live. + pub async fn deliver_at_accessor_terminal( + mut self, + store: &Accessor, + ) -> Result<(), WorkerExecutorError> where T: 'static, D: HasData + ?Sized, { - if !self.is_live_armed() { + if matches!( + &self.state, + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::AtReplayTail(_)) + ) && !store.has_guest_visible_subtask() + { + self.state = CompletionDeliveryState::Done; + return Ok(()); + } + self.prepare_delivery().await?; + let replay_barrier = matches!( + self.state, + CompletionDeliveryState::ReplayDelivered(ReplayDelivery::Armed(_)) + ); + if !self.is_live_armed() && !replay_barrier { self.delivered(); - return; + return Ok(()); } let guard = AccessorDeliveryGuard { delivery: Some(self), }; - if let Err(error) = store - .register_terminal_observer(Box::new(move |consumption| guard.consume(consumption))) + if let Err(error) = + store.register_terminal_observer(move |consumption| guard.consume(consumption)) { // No guest-visible host subtask to observe (the guard is dropped by the failed // registration, suppressing the token — no marker). - tracing::debug!( - "durable call completion has no guest-visible host subtask to observe: {error}" - ); + if replay_barrier { + return Err(WorkerExecutorError::runtime(format!( + "recorded completion delivery has no guest-visible host subtask during replay: {error}" + ))); + } else { + tracing::debug!( + "durable call completion has no guest-visible host subtask to observe: {error}" + ); + } } + Ok(()) } fn settle(&mut self) { @@ -266,14 +529,16 @@ impl CompletionDelivery { // the drain queue, without a marker. Self::emit_await_event( live.cleanup_sink, - pending, + receipt_for_pending_append(pending), live.trap_context, live.live_call_permit, ); } } - CompletionDeliveryState::ReplayDelivered - | CompletionDeliveryState::ReplayDiscarded + CompletionDeliveryState::ReplayDelivered(replay) => { + let _ = replay.fail("delivery was suppressed before reaching the guest"); + } + CompletionDeliveryState::ReplayDiscarded | CompletionDeliveryState::Unarmed | CompletionDeliveryState::Done => {} } @@ -297,22 +562,16 @@ impl CompletionDelivery { pending_append, } = *live; let guard = MarkerAwaitGuard { - join: Some(marker.spawn_chained(pending_append)), + receipt: Some(marker.record(CompletionMarkerKind::Discarded, pending_append)), trap_context, live_call_permit, cleanup_sink, }; guard.wait().await } - CompletionDeliveryState::ReplayDelivered => { - // Live delivered this completion (no marker on record), but replay could not: a - // nondeterministic guest tore the receiving end at a different point. Nothing - // durable to reconcile. - tracing::warn!( - "replayed durable call completion could not be delivered although the recorded run delivered it" - ); - Ok(()) - } + CompletionDeliveryState::ReplayDelivered(replay) => Err(replay.fail( + "the replayed guest discarded a completion that was delivered when recorded", + )), CompletionDeliveryState::ReplayDiscarded | CompletionDeliveryState::Unarmed | CompletionDeliveryState::Done => Ok(()), @@ -321,13 +580,13 @@ impl CompletionDelivery { fn emit_await_event( sink: Option>, - terminal: tokio::task::JoinHandle>, + receipt: MarkerReceipt, trap_context: DurableCallTrapContext, live_call_permit: Option, ) { if let Some(sink) = &sink { - let _ = sink.send(DropEvent::AwaitDiscardMarker { - terminal: Some(terminal), + let _ = sink.send(DropEvent::AwaitCompletionMarker { + receipt: Some(receipt), trap_context, live_call_permit, }); @@ -362,12 +621,12 @@ impl CompletionDelivery { golem_common::model::regions::DeletedRegions::default(), ) .await?; + let recorder = CompletionMarkerRecorder::new(oplog, replay_state); Ok(Self { state: CompletionDeliveryState::Live(Box::new(LiveDelivery { - marker: DiscardMarker { + marker: CompletionMarkerRecord { start_idx, - oplog, - replay_state, + recorder, }, trap_context: DurableCallTrapContext { retry_from: start_idx, @@ -386,6 +645,38 @@ impl CompletionDelivery { pub(crate) fn test_replay_discarded() -> Self { Self::replay_discarded() } + + /// A replay token for a guest-observed terminal that never carries a marker (a cancelled + /// call's recorded partial result): delivered immediately, nothing to reconcile. + pub(crate) fn test_replay_delivered_immediate() -> Self { + Self { + state: CompletionDeliveryState::ReplayDelivered(ReplayDelivery::Immediate), + } + } + + /// A tail-gated replay token for a markerless completed `End` (the recorded run crashed + /// after the `End` became durable but before the completion crossed to the guest), exactly + /// as [`CallHandle::replay_access_deferred`] builds one. `replay_state` must be the state + /// replaying `oplog`, with the call's `Start` already claimed and resolved — as the real + /// replay path guarantees before it constructs the token. + pub(crate) fn test_replay_at_tail( + oplog: Arc, + replay_state: ReplayState, + start_idx: OplogIndex, + cleanup_sink: Option>, + ) -> Self { + let recorder = CompletionMarkerRecorder::new(oplog, replay_state); + Self::replay_delivered( + ReplayDeliveryDisposition::AtReplayTail, + start_idx, + recorder, + DurableCallTrapContext { + retry_from: start_idx, + in_atomic_region: false, + }, + cleanup_sink, + ) + } } impl Drop for CompletionDelivery { @@ -397,21 +688,22 @@ impl Drop for CompletionDelivery { // append after any pending ordered append (preserving the recorded // `End → FinishSpan → CompletionDiscarded` order) and hand the join plus the // in-flight permit to the drain queue so invocation settlement waits for it. The - // task is spawned unconditionally — marker recording must not depend on the - // event surviving the drain. - let terminal = live.marker.spawn_chained(live.pending_append); + // marker command is queued synchronously — marker recording must not depend on + // the event surviving the drain. + let receipt = live + .marker + .record(CompletionMarkerKind::Discarded, live.pending_append); Self::emit_await_event( live.cleanup_sink, - terminal, + receipt, live.trap_context, live.live_call_permit, ); } - CompletionDeliveryState::ReplayDelivered => { - // Anomalous: replay delivered a completion the recorded run delivered too, but - // the site dropped the token without consuming it (or the future was torn at a - // point live was not). Nothing durable to reconcile. - tracing::warn!("replay completion-delivery token dropped without being consumed"); + CompletionDeliveryState::ReplayDelivered(replay) => { + let _ = replay.fail( + "completion-delivery token was dropped before the recorded guest boundary", + ); } CompletionDeliveryState::ReplayDiscarded | CompletionDeliveryState::Unarmed @@ -435,14 +727,33 @@ impl AccessorDeliveryGuard { .take() .expect("terminal observers are invoked at most once"); match consumption { - // The guest received the successful terminal: no marker. + // Queue the successful delivery marker immediately before Wasmtime enters the guest + // callback (or after wait/poll/sync lowering handed the result to the guest). TerminalConsumption::Delivered => delivery.delivered(), - // The guest consumed the pending terminal via `subtask.cancel` after the successful - // lowering (`Discarded`), or cancelled the call after the `End` was persisted - // (`Cancelled`): either way the guest never observes the persisted completion. + // The guest consumed the pending terminal without observing the persisted + // completion (`subtask.cancel` on a returned terminal, or a cancellation). // Dropping the armed token spawns the owned cancellation-safe marker append and // hands its join to the drain queue, so invocation settlement waits for it. - TerminalConsumption::Discarded | TerminalConsumption::Cancelled => drop(delivery), + TerminalConsumption::NotDelivered => { + if matches!(&delivery.state, CompletionDeliveryState::ReplayDelivered(_)) { + delivery.suppress(); + } else { + drop(delivery); + } + } + // Observer replacement on an armed subtask is a forbidden pattern + // (`supersede_prior_completion_delivery` hard-errors before a newer observer can be + // registered), so this firing at all is an invariant breach. Log loudly and settle + // without a marker: a marker-bearing replay token poisons replay via `suppress`, + // while a live token stays markerless so recovery tail-gates the `End`. + TerminalConsumption::Superseded => { + tracing::error!( + "completion-delivery observer was superseded by a newer observer on the same \ + host subtask; deliver_at_accessor_terminal must be the tail operation of its \ + host function" + ); + delivery.suppress(); + } } } } @@ -459,15 +770,15 @@ impl Drop for AccessorDeliveryGuard { } } -/// RAII guard for awaiting an owned `CompletionDiscarded` marker task inline -/// ([`CompletionDelivery::discarded`]). Marker persistence already lives in the owned task; the -/// guard makes the *wait* cancellation-safe: a tear mid-wait hands the join plus the in-flight -/// [`LiveCallPermit`] to the drain queue via [`DropEvent::AwaitDiscardMarker`], so invocation +/// RAII guard for awaiting an owned `CompletionDiscarded` marker command inline +/// ([`CompletionDelivery::discarded`]). The command already lives in the recorder actor; the +/// guard makes the *wait* cancellation-safe: a tear mid-wait hands the receipt plus the in-flight +/// [`LiveCallPermit`] to the drain queue via [`DropEvent::AwaitCompletionMarker`], so invocation /// settlement still waits for the marker append. struct MarkerAwaitGuard { - /// `Some` until the join completes (successfully or not); a `Drop` with the join still + /// `Some` until the receipt completes (successfully or not); a `Drop` with the receipt still /// pending emits the drain event. - join: Option>>, + receipt: Option, trap_context: DurableCallTrapContext, live_call_permit: Option, cleanup_sink: Option>, @@ -475,24 +786,23 @@ struct MarkerAwaitGuard { impl MarkerAwaitGuard { async fn wait(mut self) -> Result<(), WorkerExecutorError> { - let joined = self - .join - .as_mut() - .expect("MarkerAwaitGuard is always constructed with a join handle") - .await; - self.join = None; - joined.map_err(|err| { - WorkerExecutorError::runtime(format!("durable call discard-marker task failed: {err}")) - })? + let result = await_marker_receipt( + self.receipt + .as_mut() + .expect("MarkerAwaitGuard is always constructed with a marker receipt"), + ) + .await; + self.receipt = None; + result } } impl Drop for MarkerAwaitGuard { fn drop(&mut self) { - if let Some(join) = self.join.take() { + if let Some(receipt) = self.receipt.take() { CompletionDelivery::emit_await_event( self.cleanup_sink.take(), - join, + receipt, self.trap_context, self.live_call_permit.take(), ); diff --git a/golem-worker-executor/src/durable_host/concurrent/drop_events.rs b/golem-worker-executor/src/durable_host/concurrent/drop_events.rs index 611f5e130b..f95f77fa3a 100644 --- a/golem-worker-executor/src/durable_host/concurrent/drop_events.rs +++ b/golem-worker-executor/src/durable_host/concurrent/drop_events.rs @@ -148,8 +148,8 @@ pub enum DropEvent { /// its call's terminal `End` is already recorded and the durable scope already closed, so the /// only remaining work is joining the owned marker (or trailing ordered-append) task while /// keeping the call counted as in flight — no scope close and no atomic-region cleanup. - AwaitDiscardMarker { - terminal: Option>>, + AwaitCompletionMarker { + receipt: Option, trap_context: DurableCallTrapContext, /// Held so invocation settlement waits until the marker append is joined; released when /// the event is finished or dropped. Never read. @@ -305,25 +305,17 @@ async fn record_dropped_call_event( .await .map_err(|err| TerminalCallError::new(err, trap_context))?; } - DropEvent::AwaitDiscardMarker { - terminal, + DropEvent::AwaitCompletionMarker { + mut receipt, trap_context, // Bound (not `_`) so the permit is released only at the end of this arm, after the // marker append is joined. live_call_permit: _live_call_permit, } => { - if let Some(terminal) = terminal { - let joined = terminal.await.map_err(|err| { - WorkerExecutorError::runtime(format!( - "completion-discarded marker recorder task failed: {err}" - )) - }); - match joined { - Ok(Ok(())) => {} - Ok(Err(err)) | Err(err) => { - return Err(TerminalCallError::new(err, trap_context)); - } - } + if let Some(receipt) = &mut receipt { + await_marker_receipt(receipt) + .await + .map_err(|err| TerminalCallError::new(err, trap_context))?; } } DropEvent::SettleCustomInvocationBegin { @@ -424,8 +416,8 @@ where // instead of re-appending a second `Cancelled`. call.release_atomic_lease(); let live_call_permit = call.live_call_permit.take(); - drain.replace_current(DropEvent::AwaitDiscardMarker { - terminal: None, + drain.replace_current(DropEvent::AwaitCompletionMarker { + receipt: None, trap_context: context, live_call_permit, }); @@ -516,8 +508,8 @@ where } } } - DropEvent::AwaitDiscardMarker { - terminal, + DropEvent::AwaitCompletionMarker { + receipt, trap_context, // Left in place: the permit stays owned by the event, so it survives a torn drain // (the event is re-queued with the permit) and is released when the event is @@ -525,17 +517,13 @@ where live_call_permit: _, } => { let trap_context = *trap_context; - if let Some(handle) = terminal { - match handle.await.map_err(|err| { - WorkerExecutorError::runtime(format!( - "completion-discarded marker recorder task failed: {err}" - )) - }) { - Ok(Ok(())) => { - *terminal = None; + if let Some(pending) = receipt { + match await_marker_receipt(pending).await { + Ok(()) => { + *receipt = None; recorded += 1; } - Ok(Err(err)) | Err(err) => { + Err(err) => { if first_error.is_none() { first_error = Some(TerminalCallError::new(err, trap_context)); } diff --git a/golem-worker-executor/src/durable_host/concurrent/replay.rs b/golem-worker-executor/src/durable_host/concurrent/replay.rs index c9ba8e5c00..04bbc90da4 100644 --- a/golem-worker-executor/src/durable_host/concurrent/replay.rs +++ b/golem-worker-executor/src/durable_host/concurrent/replay.rs @@ -33,6 +33,10 @@ pub enum Resolution { Completed { end_idx: OplogIndex, response: Option>, + /// The physical guest-delivery boundary for oplogs recorded with completion markers. + /// Host-side replay continues after `End`, but the result may not cross to the guest until + /// the matching token positionally consumes this marker. + delivery_marker: Option, #[expect( dead_code, reason = "preserved for the concurrent-durability replay model" @@ -115,6 +119,10 @@ pub enum DeferredCallReplayOutcome { pub struct ConcurrentReplayResolver { /// Awaiters that have registered but whose resolution has not been observed yet. pending: HashMap>, + /// Marked successful completions whose payload has been read ahead and delivered to their host + /// continuation without advancing the positional cursor. The matching terminal still has to + /// be auto-drained when the cursor reaches its recorded index. + prefetched_terminals: HashMap, /// Resolutions observed before their awaiter registered. The await-resolution guard /// guarantees a call's `Start` is claimed before its `End`/`Cancelled` is consumed, so on the /// replay path this stays empty; it covers the resolver's own unit tests and any future entry @@ -167,15 +175,40 @@ impl ConcurrentReplayResolver { /// for a call nobody is awaiting — e.g. the guest-facing manual durability pair written by /// `persist_durable_function_invocation`, which is consumed through the same cursor but never /// registers an awaiter — is silently ignored rather than buffered forever. - pub fn resolve_if_pending(&mut self, start_idx: OplogIndex, resolution: Resolution) -> bool { + pub fn resolve_if_pending( + &mut self, + start_idx: OplogIndex, + terminal_idx: OplogIndex, + resolution: Resolution, + ) -> bool { if let Some(tx) = self.pending.remove(&start_idx) { let _ = tx.send(ResolutionOutcome::Resolved(resolution)); true + } else if self.prefetched_terminals.get(&start_idx) == Some(&terminal_idx) { + self.prefetched_terminals.remove(&start_idx); + true } else { false } } + /// Resolves an already-registered marked completion from a non-consuming oplog lookahead. + /// The terminal index remains registered so the positional cursor auto-drains that exact entry + /// later instead of exposing it to another reader. + pub fn resolve_prefetched( + &mut self, + start_idx: OplogIndex, + terminal_idx: OplogIndex, + resolution: Resolution, + ) { + let tx = self + .pending + .remove(&start_idx) + .expect("a completion is prefetched only while registering its claimed Start"); + self.prefetched_terminals.insert(start_idx, terminal_idx); + let _ = tx.send(ResolutionOutcome::Resolved(resolution)); + } + /// Resolves every still-registered awaiter as [`ResolutionOutcome::Incomplete`]. /// /// Called when replay reaches the end of the oplog ([`crate::durable_host::replay_state::ReplayState::switch_to_live`]): @@ -188,6 +221,7 @@ impl ConcurrentReplayResolver { for (_start_idx, tx) in self.pending.drain() { let _ = tx.send(ResolutionOutcome::Incomplete); } + self.prefetched_terminals.clear(); } /// Removes a registered awaiter without resolving it. Used when a claimed call turns out to be @@ -197,15 +231,27 @@ impl ConcurrentReplayResolver { self.pending.remove(&start_idx); } - /// Returns whether an awaiter is currently registered for `start_idx`. + /// Returns whether the terminal at `terminal_idx` belongs to an active resolver claim. This is + /// true both for an unresolved awaiter and for a marked completion that was prefetched without + /// consuming its terminal. /// /// The replay cursor uses this to decide which `End`/`Cancelled` entries are *awaited /// terminals* it may auto-drain (and route back to their awaiter) versus the ones it must leave /// for their own positional consumer: scope `End`s, unclaimed `Start`s, and deterministic /// markers. + pub fn owns_terminal(&self, start_idx: OplogIndex, terminal_idx: OplogIndex) -> bool { + self.pending.contains_key(&start_idx) + || self.prefetched_terminals.get(&start_idx) == Some(&terminal_idx) + } + + #[cfg(test)] pub fn is_pending(&self, start_idx: OplogIndex) -> bool { self.pending.contains_key(&start_idx) } + + pub fn has_claim(&self, start_idx: OplogIndex) -> bool { + self.pending.contains_key(&start_idx) || self.prefetched_terminals.contains_key(&start_idx) + } } /// Replay-side state for a single in-flight call: the `Start` index it claimed and the receiver diff --git a/golem-worker-executor/src/durable_host/concurrent/tests.rs b/golem-worker-executor/src/durable_host/concurrent/tests.rs index 26520a57f4..1fe9bdb69e 100644 --- a/golem-worker-executor/src/durable_host/concurrent/tests.rs +++ b/golem-worker-executor/src/durable_host/concurrent/tests.rs @@ -15,6 +15,9 @@ use super::*; use golem_common::model::oplog::host_functions; +use golem_common::model::oplog::{ + HostRequestNoInput, HostResponseMonotonicClockTimestamp, LogLevel, +}; use golem_common::model::{NamedRetryPolicy, Predicate, RetryPolicy, RetryPolicyState}; use std::time::Duration; use test_r::test; @@ -37,6 +40,7 @@ fn completed(end_idx: u64) -> Resolution { Resolution::Completed { end_idx: idx(end_idx), response: None, + delivery_marker: None, forced_commit: false, } } @@ -52,7 +56,7 @@ fn resolver_out_of_order_completion() { assert!(rx1.try_recv().is_err()); assert!(rx2.try_recv().is_err()); - assert!(resolver.resolve_if_pending(idx(2), completed(3))); + assert!(resolver.resolve_if_pending(idx(2), idx(3), completed(3))); match rx2.try_recv() { Ok(ResolutionOutcome::Resolved(Resolution::Completed { end_idx, .. })) => { assert_eq!(end_idx, idx(3)) @@ -61,7 +65,7 @@ fn resolver_out_of_order_completion() { } assert!(rx1.try_recv().is_err()); - assert!(resolver.resolve_if_pending(idx(1), completed(4))); + assert!(resolver.resolve_if_pending(idx(1), idx(4), completed(4))); match rx1.try_recv() { Ok(ResolutionOutcome::Resolved(Resolution::Completed { end_idx, .. })) => { assert_eq!(end_idx, idx(4)) @@ -77,6 +81,7 @@ fn resolver_cancelled() { let mut rx = resolver.register(idx(1)); assert!(resolver.resolve_if_pending( idx(1), + idx(2), Resolution::Cancelled { cancelled_idx: idx(2), partial: None, @@ -109,7 +114,7 @@ fn resolver_missing_pending_is_dropped_not_buffered() { let mut resolver = ConcurrentReplayResolver::default(); // No registration: resolve_if_pending must not buffer (this is the unregistered-End case, // e.g. the guest-facing manual durability pair). - assert!(!resolver.resolve_if_pending(idx(1), completed(2))); + assert!(!resolver.resolve_if_pending(idx(1), idx(2), completed(2))); let mut rx = resolver.register(idx(1)); assert!(rx.try_recv().is_err()); } @@ -121,7 +126,7 @@ fn resolver_fail_all_pending_incomplete_wakes_everyone() { let mut resolver = ConcurrentReplayResolver::default(); let mut rx1 = resolver.register(idx(1)); let mut rx2 = resolver.register(idx(2)); - assert!(resolver.resolve_if_pending(idx(1), completed(3))); + assert!(resolver.resolve_if_pending(idx(1), idx(3), completed(3))); resolver.fail_all_pending_incomplete(); @@ -142,9 +147,9 @@ fn resolver_fail_all_pending_incomplete_wakes_everyone() { fn resolver_duplicate_resolution_is_ignored() { let mut resolver = ConcurrentReplayResolver::default(); let mut rx = resolver.register(idx(1)); - assert!(resolver.resolve_if_pending(idx(1), completed(2))); + assert!(resolver.resolve_if_pending(idx(1), idx(2), completed(2))); // Second resolution: no longer pending. - assert!(!resolver.resolve_if_pending(idx(1), completed(3))); + assert!(!resolver.resolve_if_pending(idx(1), idx(3), completed(3))); match rx.try_recv() { Ok(ResolutionOutcome::Resolved(Resolution::Completed { end_idx, .. })) => { assert_eq!(end_idx, idx(2)) @@ -373,12 +378,12 @@ async fn live_delivery_token( ) .await .expect("failed to build replay state"); + let recorder = CompletionMarkerRecorder::new(oplog_dyn, replay_state); CompletionDelivery { state: CompletionDeliveryState::Live(Box::new(LiveDelivery { - marker: DiscardMarker { + marker: CompletionMarkerRecord { start_idx: idx(1), - oplog: oplog_dyn, - replay_state, + recorder, }, trap_context: DurableCallTrapContext { retry_from: idx(1), @@ -392,28 +397,111 @@ async fn live_delivery_token( } #[test] -async fn completion_delivery_delivered_and_suppress_record_no_marker() { - // `delivered` (successful final guest transfer) and `suppress` (caller-observed - // post-`End` error) must not record a `CompletionDiscarded` marker and must release the - // in-flight permit without queueing a drain event (no pending ordered append). - let variants: [fn(CompletionDelivery); 2] = - [CompletionDelivery::delivered, CompletionDelivery::suppress]; - for consume in variants { - let oplog = Arc::new(InMemoryOplog::new()); - let counter = Arc::new(AtomicUsize::new(0)); - let (tx, mut rx) = mpsc::unbounded_channel(); - let token = live_delivery_token(oplog.clone(), counter.clone(), tx).await; - assert_eq!(counter.load(Ordering::Acquire), 1); - consume(token); - assert_eq!(counter.load(Ordering::Acquire), 0); - assert!(rx.try_recv().is_err(), "no drain event may be queued"); - assert!( - oplog.entries.lock().await.is_empty(), - "no marker may be recorded" - ); +async fn completion_delivery_suppress_records_no_marker() { + // `suppress` represents a caller-observed post-`End` error. It records no delivery marker and + // releases the in-flight permit without queueing a drain event. + let oplog = Arc::new(InMemoryOplog::new()); + let counter = Arc::new(AtomicUsize::new(0)); + let (tx, mut rx) = mpsc::unbounded_channel(); + let token = live_delivery_token(oplog.clone(), counter.clone(), tx).await; + assert_eq!(counter.load(Ordering::Acquire), 1); + token.suppress(); + assert_eq!(counter.load(Ordering::Acquire), 0); + assert!(rx.try_recv().is_err(), "no drain event may be queued"); + assert!( + oplog.entries.lock().await.is_empty(), + "no marker may be recorded" + ); +} + +#[test] +async fn completion_delivery_delivered_records_marker_via_drain() { + // The successful guest handoff is itself durable. Queueing the marker is synchronous; the + // receipt and permit remain in the drain queue until the append completes. + let oplog = Arc::new(InMemoryOplog::new()); + let counter = Arc::new(AtomicUsize::new(0)); + let (tx, mut rx) = mpsc::unbounded_channel(); + let token = live_delivery_token(oplog.clone(), counter.clone(), tx).await; + token.delivered(); + assert_eq!(counter.load(Ordering::Acquire), 1); + match rx.try_recv() { + Ok(DropEvent::AwaitCompletionMarker { + mut receipt, + live_call_permit, + .. + }) => { + await_marker_receipt( + receipt + .as_mut() + .expect("the drain event must carry the marker receipt"), + ) + .await + .expect("marker append must succeed"); + let entries = oplog.entries.lock().await; + assert!(matches!( + entries.as_slice(), + [OplogEntry::CompletionDelivered { start_index, .. }] if *start_index == idx(1) + )); + drop(live_call_permit); + assert_eq!(counter.load(Ordering::Acquire), 0); + } + other => panic!("expected an AwaitCompletionMarker drop event, got {other:?}"), } } +#[test] +async fn completion_delivery_markers_preserve_handoff_order() { + let oplog = Arc::new(InMemoryOplog::new()); + let seed_oplog = Arc::new(InMemoryOplog::new()); + seed_oplog + .add(OplogEntry::NoOp { + timestamp: Timestamp::now_utc(), + }) + .await; + let seed_oplog_dyn: Arc = seed_oplog; + let replay_state = ReplayState::new( + golem_common::model::OwnedAgentId { + environment_id: golem_common::model::environment::EnvironmentId::new(), + agent_id: golem_common::model::AgentId { + component_id: golem_common::model::component::ComponentId::new(), + agent_id: "completion-marker-order-test".to_string(), + }, + }, + seed_oplog_dyn, + golem_common::model::regions::DeletedRegions::default(), + ) + .await + .expect("failed to build replay state"); + let oplog_dyn: Arc = oplog.clone(); + let recorder = CompletionMarkerRecorder::new(oplog_dyn, replay_state); + + // These synchronous submissions model two terminal-observer callbacks. Even though the + // appends are asynchronous, their oplog order must equal the callback handoff order. + let mut first = recorder.record(idx(10), CompletionMarkerKind::Delivered, None); + let mut second = recorder.record(idx(20), CompletionMarkerKind::Delivered, None); + await_marker_receipt(&mut second) + .await + .expect("second marker append must succeed"); + await_marker_receipt(&mut first) + .await + .expect("first marker append must succeed"); + + let entries = oplog.entries.lock().await; + assert!(matches!( + entries.as_slice(), + [ + OplogEntry::CompletionDelivered { + start_index: first, + .. + }, + OplogEntry::CompletionDelivered { + start_index: second, + .. + } + ] if *first == idx(10) && *second == idx(20) + )); +} + #[test] async fn completion_delivery_armed_drop_records_marker_via_drain() { // Dropping the token while still armed (a torn delivering future) must spawn the owned @@ -433,16 +521,18 @@ async fn completion_delivery_armed_drop_records_marker_via_drain() { "the queued drain event must own the permit" ); match rx.try_recv() { - Ok(DropEvent::AwaitDiscardMarker { - terminal, + Ok(DropEvent::AwaitCompletionMarker { + mut receipt, live_call_permit, .. }) => { - terminal - .expect("the drain event must carry the marker join") - .await - .expect("marker task must not panic") - .expect("marker append must succeed"); + await_marker_receipt( + receipt + .as_mut() + .expect("the drain event must carry the marker receipt"), + ) + .await + .expect("marker append must succeed"); let entries = oplog.entries.lock().await; assert_eq!(entries.len(), 1, "expected exactly one marker entry"); match &entries[0] { @@ -454,7 +544,7 @@ async fn completion_delivery_armed_drop_records_marker_via_drain() { drop(live_call_permit); assert_eq!(counter.load(Ordering::Acquire), 0); } - other => panic!("expected an AwaitDiscardMarker drop event, got {other:?}"), + other => panic!("expected an AwaitCompletionMarker drop event, got {other:?}"), } } @@ -506,8 +596,8 @@ async fn completion_delivery_discarded_is_cancellation_safe() { // The drain event owns the join and the permit; the marker still lands. match rx.try_recv() { - Ok(DropEvent::AwaitDiscardMarker { - terminal, + Ok(DropEvent::AwaitCompletionMarker { + mut receipt, live_call_permit, .. }) => { @@ -517,11 +607,13 @@ async fn completion_delivery_discarded_is_cancellation_safe() { "the drain event must own the permit" ); gate.add_permits(1); - terminal - .expect("the drain event must carry the marker join") - .await - .expect("marker task must not panic") - .expect("marker append must succeed"); + await_marker_receipt( + receipt + .as_mut() + .expect("the drain event must carry the marker receipt"), + ) + .await + .expect("marker append must succeed"); let entries = oplog.entries.lock().await; assert_eq!(entries.len(), 1, "expected exactly one marker entry"); assert!(matches!( @@ -531,7 +623,7 @@ async fn completion_delivery_discarded_is_cancellation_safe() { drop(live_call_permit); assert_eq!(counter.load(Ordering::Acquire), 0); } - other => panic!("expected an AwaitDiscardMarker drop event, got {other:?}"), + other => panic!("expected an AwaitCompletionMarker drop event, got {other:?}"), } } @@ -553,7 +645,7 @@ async fn completion_delivery_replay_tokens_are_inert() { .await .expect("discarding a replay-discarded token is a no-op"); - let delivered = CompletionDelivery::replay_delivered(); + let delivered = CompletionDelivery::test_replay_delivered_immediate(); assert!(!delivered.is_replay_discarded()); assert!(!delivered.is_live_armed()); delivered.delivered(); @@ -563,6 +655,178 @@ async fn completion_delivery_replay_tokens_are_inert() { drop(CompletionDelivery::replay_discarded()); } +/// Builds an in-memory oplog `[NoOp, Start, End]` (a markerless completed call — the recorded +/// run crashed after the `End` became durable but before delivery), a replay state over it with +/// the call claimed and resolved (as `replay_access_deferred` guarantees), and the tail-gated +/// token exactly as the deferred accessor replay path constructs one. +async fn tail_gated_token_over_crash_tail( + extra_tail: Vec, + cleanup_sink: Option>, +) -> (Arc, ReplayState, CompletionDelivery) { + let oplog = Arc::new(InMemoryOplog::new()); + oplog + .add(OplogEntry::NoOp { + timestamp: Timestamp::now_utc(), + }) + .await; + oplog + .add(OplogEntry::Start { + timestamp: Timestamp::now_utc(), + parent_start_index: None, + invocation_id: None, + observational_owner: None, + function_name: HostFunctionName::MonotonicClockNow, + request: Some(OplogPayload::Inline(Box::new(HostRequest::NoInput( + HostRequestNoInput {}, + )))), + durable_function_type: DurableFunctionType::ReadLocal, + }) + .await; + oplog + .add(OplogEntry::End { + timestamp: Timestamp::now_utc(), + start_index: idx(2), + response: Some(OplogPayload::Inline(Box::new( + HostResponse::MonotonicClockTimestamp(HostResponseMonotonicClockTimestamp { + nanos: 42, + }), + ))), + forced_commit: false, + }) + .await; + for entry in extra_tail { + oplog.add(entry).await; + } + let oplog_dyn: Arc = oplog.clone(); + let replay_state = ReplayState::new( + golem_common::model::OwnedAgentId { + environment_id: golem_common::model::environment::EnvironmentId::new(), + agent_id: golem_common::model::AgentId { + component_id: golem_common::model::component::ComponentId::new(), + agent_id: "tail-gated-token-test".to_string(), + }, + }, + oplog_dyn.clone(), + golem_common::model::regions::DeletedRegions::default(), + ) + .await + .expect("failed to build replay state"); + let handle = replay_state + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .expect("claim must succeed"); + replay_state + .await_resolution(handle) + .await + .expect("resolution must succeed"); + let token = CompletionDelivery::test_replay_at_tail( + oplog_dyn, + replay_state.clone(), + idx(2), + cleanup_sink, + ); + (oplog, replay_state, token) +} + +#[test] +async fn tail_gated_token_converts_to_live_and_delivered_records_marker() { + // A markerless completed `End` replays tail-gated: `prepare_delivery` waits for the recorded + // tail to exhaust naturally, then converts the token to live-armed so the eventual real + // delivery records a durable `CompletionDelivered` marker — a second crash after the tail + // delivery replays marker-gated instead of re-opening the crash window. + let (oplog, replay_state, mut token) = tail_gated_token_over_crash_tail( + vec![OplogEntry::Log { + timestamp: Timestamp::now_utc(), + level: LogLevel::Stdout, + context: "stdout".to_string(), + message: "crash tail hint".to_string(), + }], + None, + ) + .await; + assert!(!token.is_live_armed()); + + token + .prepare_delivery() + .await + .expect("tail gating must succeed over a drainable tail"); + assert!( + token.is_live_armed(), + "the tail-gated token must convert to live-armed after the tail exhausts" + ); + assert!(replay_state.is_live()); + + token.delivered(); + // With no cleanup sink the marker append is only settlement-tracked via the drain queue; + // poll the oplog for the spawned append. + for _ in 0..100 { + { + let entries = oplog.entries.lock().await; + if let Some(OplogEntry::CompletionDelivered { start_index, .. }) = entries.last() { + assert_eq!(*start_index, idx(2)); + return; + } + } + tokio::time::sleep(Duration::from_millis(10)).await; + } + panic!("the delivered marker append never landed"); +} + +#[test] +async fn tail_gated_token_torn_after_conversion_records_discarded_marker() { + // After tail conversion the token is a real live-armed token: tearing it (dropping the + // delivering future) must record a `CompletionDiscarded` marker through the drain queue. + let (oplog, _replay_state, mut token) = tail_gated_token_over_crash_tail(vec![], None).await; + let (tx, mut rx) = mpsc::unbounded_channel(); + token + .prepare_delivery() + .await + .expect("tail gating must succeed over a drainable tail"); + assert!(token.is_live_armed()); + if let CompletionDeliveryState::Live(live) = &mut token.state { + live.cleanup_sink = Some(tx); + } + drop(token); + + match rx.try_recv() { + Ok(DropEvent::AwaitCompletionMarker { mut receipt, .. }) => { + await_marker_receipt( + receipt + .as_mut() + .expect("the drain event must carry the marker receipt"), + ) + .await + .expect("marker append must succeed"); + let entries = oplog.entries.lock().await; + match entries.last() { + Some(OplogEntry::CompletionDiscarded { start_index, .. }) => { + assert_eq!(*start_index, idx(2)) + } + other => panic!("expected CompletionDiscarded, got {other:?}"), + } + } + other => panic!("expected an AwaitCompletionMarker drop event, got {other:?}"), + } +} + +#[test] +async fn tail_gated_token_delivered_without_prepare_poisons_replay() { + // A delivery boundary firing while the completion is still tail-gated means the call site + // never awaited `prepare_delivery`: replay must fail loudly instead of silently re-opening + // the crash window the gate closes. + let (_oplog, replay_state, token) = tail_gated_token_over_crash_tail(vec![], None).await; + token.delivered(); + + let err = replay_state + .await_natural_tail_end() + .await + .expect_err("the poisoned cursor must reject further operations"); + assert!(err.to_string().contains("tail"), "unexpected error: {err}"); +} + #[test] async fn completion_delivery_ordered_append_lands_before_marker() { // An `append_ordered` entry (e.g. a durable `FinishSpan`) handed to the token must land @@ -579,14 +843,16 @@ async fn completion_delivery_ordered_append_lands_before_marker() { drop(token); } match rx.try_recv() { - Ok(DropEvent::AwaitDiscardMarker { terminal, .. }) => { - terminal - .expect("the drain event must carry the chained join") - .await - .expect("chained task must not panic") - .expect("chained appends must succeed"); + Ok(DropEvent::AwaitCompletionMarker { mut receipt, .. }) => { + await_marker_receipt( + receipt + .as_mut() + .expect("the drain event must carry the marker receipt"), + ) + .await + .expect("chained appends must succeed"); } - other => panic!("expected an AwaitDiscardMarker drop event, got {other:?}"), + other => panic!("expected an AwaitCompletionMarker drop event, got {other:?}"), } let entries = oplog.entries.lock().await; assert_eq!(entries.len(), 2, "expected [ordered entry, marker]"); @@ -599,20 +865,26 @@ async fn completion_delivery_ordered_append_lands_before_marker() { /// Minimal in-memory [`Oplog`] recording appended entries, for tests that assert what a /// drained drop event writes durably. With an `end_gate` installed, appending an `End` or -/// `CompletionDiscarded` entry first signals `reached` and then blocks until the gate -/// semaphore yields a permit, so a test can hold the terminal or marker append open and -/// observe what is (not) visible meanwhile. +/// completion marker first signals `reached` and then blocks until the gate semaphore yields a +/// permit, so a test can hold the terminal or marker append open and observe what is (not) visible +/// meanwhile. #[derive(Debug)] struct InMemoryOplog { - entries: tokio::sync::Mutex>, + entries: Arc>>, end_gate: Option<(mpsc::UnboundedSender<()>, Arc)>, + next_reserved: Arc, + next_commit: Arc>, + append_progress: Arc, } impl InMemoryOplog { fn new() -> Self { Self { - entries: tokio::sync::Mutex::new(Vec::new()), + entries: Arc::new(tokio::sync::Mutex::new(Vec::new())), end_gate: None, + next_reserved: Arc::new(std::sync::atomic::AtomicU64::new(1)), + next_commit: Arc::new(tokio::sync::Mutex::new(1)), + append_progress: Arc::new(tokio::sync::Notify::new()), } } @@ -621,8 +893,11 @@ impl InMemoryOplog { gate: Arc, ) -> Self { Self { - entries: tokio::sync::Mutex::new(Vec::new()), + entries: Arc::new(tokio::sync::Mutex::new(Vec::new())), end_gate: Some((reached, gate)), + next_reserved: Arc::new(std::sync::atomic::AtomicU64::new(1)), + next_commit: Arc::new(tokio::sync::Mutex::new(1)), + append_progress: Arc::new(tokio::sync::Notify::new()), } } } @@ -630,20 +905,54 @@ impl InMemoryOplog { #[async_trait] impl Oplog for InMemoryOplog { async fn add(&self, entry: OplogEntry) -> OplogIndex { - if matches!( - entry, - OplogEntry::End { .. } | OplogEntry::CompletionDiscarded { .. } - ) && let Some((reached, gate)) = &self.end_gate - { - let _ = reached.send(()); - gate.acquire() + self.enqueue_add(entry).await + } + + fn enqueue_add(&self, entry: OplogEntry) -> crate::services::oplog::OplogAddReceipt { + let index = self + .next_reserved + .fetch_add(1, std::sync::atomic::Ordering::Relaxed); + let entries = self.entries.clone(); + let end_gate = self.end_gate.clone(); + let next_commit = self.next_commit.clone(); + let append_progress = self.append_progress.clone(); + let (done, receipt) = tokio::sync::oneshot::channel(); + tokio::spawn(async move { + loop { + let progress = append_progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + let mut next = next_commit.lock().await; + if *next == index { + if matches!( + &entry, + OplogEntry::End { .. } + | OplogEntry::CompletionDiscarded { .. } + | OplogEntry::CompletionDelivered { .. } + ) && let Some((reached, gate)) = &end_gate + { + let _ = reached.send(()); + gate.acquire() + .await + .expect("end gate semaphore is never closed") + .forget(); + } + entries.lock().await.push(entry); + *next += 1; + drop(next); + append_progress.notify_waiters(); + let _ = done.send(OplogIndex::from_u64(index)); + return; + } + drop(next); + progress.await; + } + }); + Box::pin(async move { + receipt .await - .expect("end gate semaphore is never closed") - .forget(); - } - let mut entries = self.entries.lock().await; - entries.push(entry); - OplogIndex::from_u64(entries.len() as u64) + .expect("the in-memory oplog append task must reply") + }) } async fn add_pair( @@ -858,10 +1167,12 @@ async fn access_terminal_end_is_appended_before_cleanup_and_permit_release() { ) .await .expect("failed to build replay state"); + let completion_marker_recorder = + CompletionMarkerRecorder::new(persist_oplog.clone(), persist_replay_state); let persist = tokio::spawn(async move { let response = HostResponseMonotonicClockTimestamp { nanos: 42 }; let result = CallHandle:::: - persist_access_terminal(persist_oplog, persist_replay_state, &mut guard, start_idx, &response, None) + persist_access_terminal(persist_oplog, completion_marker_recorder, &mut guard, start_idx, &response, None) .await; (result, guard) }); @@ -1588,10 +1899,14 @@ fn classify_completed_is_delivered() { let outcome = ResolutionOutcome::Resolved(Resolution::Completed { end_idx: idx(3), response: Some(payload(vec![1, 2, 3])), + delivery_marker: None, forced_commit: false, }); match classify_replay_resolution(outcome) { - ReplayedResolution::Delivered(ReplayedPayload::Completed(Some(p))) => { + ReplayedResolution::Delivered( + ReplayedPayload::Completed(Some(p)), + ReplayDeliveryDisposition::AtReplayTail, + ) => { assert_eq!(p, payload(vec![1, 2, 3]), "payload preserved") } other => panic!("expected Delivered(Completed), got {other:?}"), @@ -1605,10 +1920,14 @@ fn classify_completed_without_response_payload_is_delivered() { let outcome = ResolutionOutcome::Resolved(Resolution::Completed { end_idx: idx(3), response: None, + delivery_marker: None, forced_commit: false, }); match classify_replay_resolution(outcome) { - ReplayedResolution::Delivered(ReplayedPayload::Completed(None)) => {} + ReplayedResolution::Delivered( + ReplayedPayload::Completed(None), + ReplayDeliveryDisposition::AtReplayTail, + ) => {} other => panic!("expected Delivered(Completed(None)), got {other:?}"), } } @@ -1620,7 +1939,10 @@ fn classify_cancelled_with_partial_is_delivered() { partial: Some(payload(vec![9])), }); match classify_replay_resolution(outcome) { - ReplayedResolution::Delivered(ReplayedPayload::CancelledPartial(p)) => { + ReplayedResolution::Delivered( + ReplayedPayload::CancelledPartial(p), + ReplayDeliveryDisposition::Immediate, + ) => { assert_eq!(p, payload(vec![9]), "partial payload preserved") } other => panic!("expected Delivered(CancelledPartial), got {other:?}"), diff --git a/golem-worker-executor/src/durable_host/durability.rs b/golem-worker-executor/src/durable_host/durability.rs index fef76b9cfc..d68835f313 100644 --- a/golem-worker-executor/src/durable_host/durability.rs +++ b/golem-worker-executor/src/durable_host/durability.rs @@ -211,8 +211,17 @@ impl CustomBeginTerminalGuard { .expect("custom begin terminal observer is invoked at most once"); match consumption { TerminalConsumption::Delivered => lifecycle.settle(CustomBeginVerdict::Delivered), - TerminalConsumption::Discarded | TerminalConsumption::Cancelled => { - lifecycle.settle(CustomBeginVerdict::Cancelled) + TerminalConsumption::NotDelivered => lifecycle.settle(CustomBeginVerdict::Cancelled), + // Observer replacement on the custom-begin subtask is a forbidden pattern: the begin + // host function registers exactly one terminal observer and performs no further + // observable sub-operations on the same subtask. Settle as suppressed (the same + // verdict as a dropped guard) so the coordinator treats the begin as unobserved. + TerminalConsumption::Superseded => { + tracing::error!( + "custom-begin terminal observer was superseded by a newer observer on the \ + same host subtask; this is an invariant breach" + ); + lifecycle.settle(CustomBeginVerdict::Suppressed); } } } diff --git a/golem-worker-executor/src/durable_host/mod.rs b/golem-worker-executor/src/durable_host/mod.rs index 88084a4b8b..35ac63cb53 100644 --- a/golem-worker-executor/src/durable_host/mod.rs +++ b/golem-worker-executor/src/durable_host/mod.rs @@ -6513,6 +6513,7 @@ struct PrivateDurableWorkerState { tokio::sync::mpsc::UnboundedSender, tokio::sync::mpsc::UnboundedReceiver, ), + completion_marker_recorder: concurrent::CompletionMarkerRecorder, /// The minimum oplog index handed to the guest via `get_oplog_index` during the current /// invocation (the `NoOp` marker it plants). It is the only realistic `set_oplog_index` target, @@ -6645,6 +6646,8 @@ impl PrivateDurableWorkerState { }; let replay_state = ReplayState::new(owned_agent_id.clone(), oplog.clone(), deleted_regions).await?; + let completion_marker_recorder = + concurrent::CompletionMarkerRecorder::new(oplog.clone(), replay_state.clone()); let invocation_context = InvocationContext::new(None); let current_span_id = invocation_context.root.span_id().clone(); let dropped_call_events = tokio::sync::mpsc::unbounded_channel(); @@ -6765,6 +6768,7 @@ impl PrivateDurableWorkerState { invocation_deadline_exceeded: Arc::new(AtomicBool::new(false)), tail_work_deadline_exceeded: Arc::new(AtomicBool::new(false)), dropped_call_events, + completion_marker_recorder, min_exposed_marker: None, current_phantom_id: original_phantom_id, last_snapshot_index, @@ -6943,6 +6947,10 @@ impl PrivateDurableWorkerState { Some(self.dropped_call_events.0.clone()) } + fn completion_marker_recorder(&self) -> concurrent::CompletionMarkerRecorder { + self.completion_marker_recorder.clone() + } + fn live_host_call_counter(&self) -> Arc { self.live_host_calls.clone() } diff --git a/golem-worker-executor/src/durable_host/p3/http/response_body.rs b/golem-worker-executor/src/durable_host/p3/http/response_body.rs index 36675e9c10..5a9e6216b2 100644 --- a/golem-worker-executor/src/durable_host/p3/http/response_body.rs +++ b/golem-worker-executor/src/durable_host/p3/http/response_body.rs @@ -641,13 +641,14 @@ async fn transfer_data_chunk( activity: &TailActivity, demand: oneshot::Sender, bytes: Bytes, - delivery: CompletionDelivery, + mut delivery: CompletionDelivery, delivered_bytes: &mut u64, ) -> Result { if delivery.is_replay_discarded() { park_replay_discarded_delivery(activity, demand).await; return Ok(DataChunkTransfer::Abandoned); } + delivery.prepare_delivery().await?; let chunk_len = bytes.len() as u64; if demand.send(HttpBodyChunkReply::Data(bytes)).is_ok() { *delivered_bytes += chunk_len; @@ -934,7 +935,7 @@ where // `End` records the child's `CompletionDiscarded` marker instead of // replay redelivering a chunk the recorded run never handed to the // guest. - let (produced, delivery) = if !child.is_live() { + let (produced, mut delivery) = if !child.is_live() { match child .replay_access_deferred(accessor, durable_worker_ctx::) .await @@ -1412,6 +1413,18 @@ where park_replay_discarded_delivery(&activity, demand).await; break; } + if let Err(error) = delivery.prepare_delivery().await { + let trap_context = parent.trap_context(); + parent.abandon_for_trap(); + return fail_consume_body_task( + trailers_tx, + wasmtime::Error::from_anyhow(mark_durable_call_trap_context( + anyhow::Error::from(error), + trap_context, + )), + Some(trap_context), + ); + } let (ack_tx, ack_rx) = oneshot::channel(); if demand.send(HttpBodyChunkReply::End { ack: ack_tx }).is_ok() { delivery.delivered(); @@ -1441,6 +1454,18 @@ where park_replay_discarded_delivery(&activity, demand).await; break; } + if let Err(error) = delivery.prepare_delivery().await { + let trap_context = parent.trap_context(); + parent.abandon_for_trap(); + return fail_consume_body_task( + trailers_tx, + wasmtime::Error::from_anyhow(mark_durable_call_trap_context( + anyhow::Error::from(error), + trap_context, + )), + Some(trap_context), + ); + } if demand.send(HttpBodyChunkReply::Cancelled).is_ok() { delivery.delivered(); } else { @@ -1482,7 +1507,7 @@ where // finalize failure can tag the guest-facing trailers trap for correct // retry grouping. let parent_trap_context = parent.trap_context(); - let (outcome, delivery) = if parent.is_live() { + let (outcome, mut delivery) = if parent.is_live() { match parent .complete_access_deferred( accessor, @@ -1589,6 +1614,12 @@ where activity.park(trailers_tx.closed()).await; drop(trailers_tx); } else { + delivery.prepare_delivery().await.map_err(|error| { + wasmtime::Error::from_anyhow(mark_durable_call_trap_context( + anyhow::Error::from(error), + parent_trap_context, + )) + })?; match trailers_tx.send(HttpTrailersResolution::Outcome(outcome)) { Ok(()) => delivery.delivered(), Err(_) => { diff --git a/golem-worker-executor/src/durable_host/p3/http/send.rs b/golem-worker-executor/src/durable_host/p3/http/send.rs index 1d325e23ff..17355ff542 100644 --- a/golem-worker-executor/src/durable_host/p3/http/send.rs +++ b/golem-worker-executor/src/durable_host/p3/http/send.rs @@ -323,7 +323,10 @@ where std::future::pending::<()>().await; unreachable!("std::future::pending never completes") } - delivery.delivered(); + delivery + .deliver_at_accessor_terminal(store) + .await + .map_err(HttpError::trap)?; return Ok(response); } Err(error) => { @@ -350,7 +353,10 @@ where std::future::pending::<()>().await; unreachable!("std::future::pending never completes") } - delivery.delivered(); + delivery + .deliver_at_accessor_terminal(store) + .await + .map_err(HttpError::trap)?; return Err(error); } } @@ -450,7 +456,10 @@ where // The guest-visible error return below still crosses Wasmtime's lowering // and terminal-consumption boundary: hand the token to the terminal // observer instead of consuming it here. - delivery.deliver_at_accessor_terminal(store); + delivery + .deliver_at_accessor_terminal(store) + .await + .map_err(HttpError::trap)?; } else { // Unpersisted live call (snapshotting): the original span handling // applies. @@ -759,7 +768,10 @@ where // Everything since the `End` was synchronous, so no tear window remains between // here and handing the token to Wasmtime's terminal observer, which settles it // when the guest actually consumes (or discards) the lowered response. - delivery.deliver_at_accessor_terminal(store); + delivery + .deliver_at_accessor_terminal(store) + .await + .map_err(HttpError::trap)?; Ok(response) } Err(error_code) => { @@ -847,7 +859,10 @@ where // The guest-visible error return below still crosses Wasmtime's lowering and // terminal-consumption boundary: hand the token to the terminal observer instead // of consuming it here. - delivery.deliver_at_accessor_terminal(store); + delivery + .deliver_at_accessor_terminal(store) + .await + .map_err(HttpError::trap)?; Err(error_code.into()) } } diff --git a/golem-worker-executor/src/durable_host/p3/http/test_support.rs b/golem-worker-executor/src/durable_host/p3/http/test_support.rs index 4508c09091..2b1add55dc 100644 --- a/golem-worker-executor/src/durable_host/p3/http/test_support.rs +++ b/golem-worker-executor/src/durable_host/p3/http/test_support.rs @@ -13,7 +13,7 @@ // limitations under the License. use super::*; -use crate::services::oplog::{CommitLevel, Oplog, OrderedOplogStart}; +use crate::services::oplog::{CommitLevel, Oplog, OplogAddReceipt, OrderedOplogStart}; use async_trait::async_trait; use bytes::Bytes; use golem_common::model::oplog::payload::types::{ @@ -121,6 +121,13 @@ impl Oplog for FrameTestOplog { OplogIndex::from_u64(entries.len() as u64) } + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + let mut entries = self.entries.lock().unwrap(); + entries.push(entry); + let index = OplogIndex::from_u64(entries.len() as u64); + Box::pin(async move { index }) + } + async fn add_pair( &self, start: OplogEntry, diff --git a/golem-worker-executor/src/durable_host/replay_state/claims.rs b/golem-worker-executor/src/durable_host/replay_state/claims.rs index 2ed978da37..3131e6f7d0 100644 --- a/golem-worker-executor/src/durable_host/replay_state/claims.rs +++ b/golem-worker-executor/src/durable_host/replay_state/claims.rs @@ -234,10 +234,28 @@ impl ReplayState { &self, claim: StartClaim, ) -> Result<(ReplayCallHandle, Box), WorkerExecutorError> { - self.run_owned_cursor_op(move |state| async move { - state.with_tx(async |tx| tx.claim_start(&claim).await).await - }) - .await + loop { + let progress = self.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + + let owned_claim = claim.clone(); + let (claimed, blocked_on_completion_delivery) = self + .run_owned_cursor_op(move |state| async move { + state + .with_tx(async |tx| { + let claimed = tx.claim_start(&owned_claim).await?; + Ok((claimed, tx.blocked_on_completion_delivery)) + }) + .await + }) + .await?; + if let Some(claimed) = claimed { + return Ok(claimed); + } + debug_assert!(blocked_on_completion_delivery); + progress.await; + } } /// Claims the next top-level (unowned) durable-call `Start` matching the expected identity @@ -426,18 +444,23 @@ impl ReplayState { expected_invocation_id: uuid::Uuid, expected_request: &HostRequest, ) -> Result { - let expected_function_name = expected_function_name.clone(); - let expected_function_type = expected_function_type.clone(); - let expected_request = expected_request.clone(); - let (handle, entry) = self - .run_owned_cursor_op(move |state| async move { - state - .with_tx(async |tx| { - if tx - .st - .claimed_custom_invocation_ids - .contains(&expected_invocation_id) - { + let (handle, entry) = loop { + let progress = self.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + + let expected_function_name = expected_function_name.clone(); + let expected_function_type = expected_function_type.clone(); + let expected_request = expected_request.clone(); + let (claimed, blocked_on_completion_delivery) = self + .run_owned_cursor_op(move |state| async move { + state + .with_tx(async |tx| { + if tx + .st + .claimed_custom_invocation_ids + .contains(&expected_invocation_id) + { return Err(WorkerExecutorError::unexpected_oplog_entry( format!( "unused custom durable invocation id {expected_invocation_id}" @@ -594,16 +617,24 @@ impl ReplayState { )); } }; - tx.st - .claimed_custom_invocation_ids - .insert(expected_invocation_id); - let root = result.0.start_idx(); - tx.register_custom_subtree_root(root); - Ok(result) + if let Some(result) = &result { + tx.st + .claimed_custom_invocation_ids + .insert(expected_invocation_id); + let root = result.0.start_idx(); + tx.register_custom_subtree_root(root); + } + Ok((result, tx.blocked_on_completion_delivery)) }) .await }) .await?; + if let Some(claimed) = claimed { + break claimed; + } + debug_assert!(blocked_on_completion_delivery); + progress.await; + }; let OplogEntry::Start { timestamp, function_name, diff --git a/golem-worker-executor/src/durable_host/replay_state/cursor.rs b/golem-worker-executor/src/durable_host/replay_state/cursor.rs index 1c5adc4349..329ad0fd02 100644 --- a/golem-worker-executor/src/durable_host/replay_state/cursor.rs +++ b/golem-worker-executor/src/durable_host/replay_state/cursor.rs @@ -13,12 +13,18 @@ impl ReplayCursor { /// Begins a cursor-advance transaction by acquiring [`Self::state`]. The returned [`CursorTx`] /// is the sole gateway to advance the cursor or mutate the guarded state. - pub(super) async fn tx(&self) -> CursorTx<'_> { - CursorTx { + pub(super) async fn tx(&self) -> Result, WorkerExecutorError> { + let advance_gate = self.advance_gate.clone().lock_owned().await; + if let Some(failure) = self.delivery_failure.lock().unwrap().clone() { + return Err(WorkerExecutorError::runtime(failure)); + } + Ok(CursorTx { cursor: self, st: self.state.lock().await, + advance_gate: Some(advance_gate), + blocked_on_completion_delivery: false, notify_progress: false, - } + }) } /// Releases a finished transaction and, if it made progress (advanced the cursor, registered an @@ -150,6 +156,13 @@ impl ReplayCursor { pub(super) struct CursorTx<'a> { pub(super) cursor: &'a ReplayCursor, pub(super) st: MutexGuard<'a, CursorState>, + /// Normally released with the transaction. Consuming a `CompletionDelivered` marker transfers + /// it to the matching [`ReplayDeliveryBarrier`] so no later transaction can advance first. + advance_gate: Option>, + /// Set when this transaction's positional read parked at a `CompletionDelivered` marker. + /// Optional readers use it to distinguish that global barrier from an ordinary predicate + /// mismatch, which may be returned to their caller immediately. + pub(super) blocked_on_completion_delivery: bool, notify_progress: bool, } @@ -264,7 +277,29 @@ impl CursorTx<'_> { &mut self, condition: impl FnMut(&OplogEntry) -> bool, ) -> Result, WorkerExecutorError> { - self.try_get_oplog_entry_inner(None, condition).await + self.try_get_oplog_entry_inner(None, None, condition).await + } + + /// Consumes exactly the `CompletionDelivered` marker owned by `start_index`. Ordinary cursor + /// readers always park at these markers; only the matching replay delivery token may commit + /// one and take ownership of this transaction's global advance gate. + pub(super) async fn consume_completion_delivered( + &mut self, + start_index: OplogIndex, + marker_index: OplogIndex, + ) -> Result>, WorkerExecutorError> { + let consumed = self + .try_get_oplog_entry_inner(Some((start_index, marker_index)), None, |_| false) + .await?; + if consumed.is_some() { + Ok(Some( + self.advance_gate + .take() + .expect("cursor transactions always own the advance gate"), + )) + } else { + Ok(None) + } } /// [`Self::try_get_oplog_entry`] with the invocation-boundary tolerance for live-only @@ -277,15 +312,21 @@ impl CursorTx<'_> { abandoned: &mut AbandonedStarts, condition: impl FnMut(&OplogEntry) -> bool, ) -> Result, WorkerExecutorError> { - self.try_get_oplog_entry_inner(Some(abandoned), condition) + self.try_get_oplog_entry_inner(None, Some(abandoned), condition) .await } pub(super) async fn try_get_oplog_entry_inner( &mut self, + expected_delivery: Option<(OplogIndex, OplogIndex)>, mut abandoned: Option<&mut AbandonedStarts>, mut condition: impl FnMut(&OplogEntry) -> bool, ) -> Result, WorkerExecutorError> { + self.blocked_on_completion_delivery = false; + if self.st.skip_hints_after_delivery { + self.skip_forward().await?; + self.st.skip_hints_after_delivery = false; + } loop { if self.cursor.is_live() { // No further entries to read: nothing to drain, condition cannot match. @@ -294,7 +335,44 @@ impl CursorTx<'_> { let (read_idx, entry) = self.raw_read_next_oplog_entry().await?; - if self.is_awaited_terminal(&entry) { + if let OplogEntry::CompletionDelivered { start_index, .. } = &entry { + if expected_delivery == Some((*start_index, read_idx)) { + self.commit_consumed_entry(read_idx, &entry).await?; + return Ok(Some((read_idx, entry))); + } + if self.st.skipped_regions.is_in_deleted_region(*start_index) { + // The call belongs to an abandoned timeline, so no replay delivery token can + // exist for its surviving marker. Consume it like an orphan terminal and keep + // normal hint skipping enabled: there is no guest boundary to hold here. + debug!( + "Skipping orphan CompletionDelivered at {read_idx} whose Start {start_index} lies in a skipped region" + ); + self.commit_consumed_entry(read_idx, &entry).await?; + self.st.skip_hints_after_delivery = false; + self.skip_forward().await?; + continue; + } + if abandoned + .as_deref() + .is_some_and(|abandoned| abandoned.contains(*start_index)) + { + return Err(WorkerExecutorError::unexpected_oplog_entry( + "AgentInvocationFinished", + format!( + "CompletionDelivered at {read_idx} references unclaimed durable call Start at {start_index} — the recorded guest received this completion but replay reached the invocation boundary without claiming it" + ), + )); + } + + // This is a reserved guest-delivery boundary. Leave it at the cursor head for the + // matching completion token; even an unconditional positional reader may not + // steal it or advance beyond it. + self.st.replay_buffer.push_front((read_idx, entry)); + self.blocked_on_completion_delivery = true; + return Ok(None); + } + + if self.is_awaited_terminal(read_idx, &entry) { // An `End`/`Cancelled` owned by a concurrently-replaying call: commit it and hand it // back to its awaiter, then keep draining. Never returned to this caller. self.commit_consumed_entry(read_idx, &entry).await?; @@ -429,9 +507,12 @@ impl CursorTx<'_> { /// Whether `entry` is an `End`/`Cancelled` whose `start_index` currently has a registered /// resolver awaiter (and is therefore an *awaited terminal* the cursor auto-drains to its owner /// rather than handing to a positional reader). - pub(super) fn is_awaited_terminal(&self, entry: &OplogEntry) -> bool { - terminal_start_index(entry) - .is_some_and(|start_index| self.st.concurrent_resolver.is_pending(start_index)) + pub(super) fn is_awaited_terminal(&self, terminal_idx: OplogIndex, entry: &OplogEntry) -> bool { + terminal_start_index(entry).is_some_and(|start_index| { + self.st + .concurrent_resolver + .owns_terminal(start_index, terminal_idx) + }) } /// Whether `entry` is an `End`/`Cancelled` whose `start_index` lies inside a skipped/deleted @@ -475,11 +556,17 @@ impl CursorTx<'_> { // skipped-region jump for the next read via `get_out_of_skipped_region`, and must precede // `skip_forward` (which reads forward from the advanced cursor). self.move_replay_idx(read_idx).await; - self.skip_forward().await?; - self.cursor - .position - .last_replayed_non_hint_index - .set(read_idx); + if matches!(entry, OplogEntry::CompletionDelivered { .. }) { + self.st.skip_hints_after_delivery = true; + } else { + self.skip_forward().await?; + } + if !entry.is_hint() { + self.cursor + .position + .last_replayed_non_hint_index + .set(read_idx); + } // Committed-consume hook: this entry is now permanently consumed (speculative reads never // reach here — they return before committing), so it is safe to feed the concurrent replay // resolver. @@ -548,7 +635,7 @@ impl CursorTx<'_> { read_idx: OplogIndex, entry: &OplogEntry, ) -> Option { - if entry.is_hint() { + if entry.is_hint() && !matches!(entry, OplogEntry::CompletionDelivered { .. }) { // Advance to the hint entry itself; the caller publishes this (via `move_replay_idx`) so // the next read gets `read_idx.next()`. Some(read_idx) @@ -715,21 +802,31 @@ impl CursorTx<'_> { forced_commit, .. } => { - let resolution = match self.discarded_completion_marker(*start_index) { - Some(marker_idx) => Resolution::CompletedButDiscarded { + let marker = self.completion_marker(*start_index); + let resolution = match marker { + Some(CompletionMarker::Discarded(marker_idx)) => { + Resolution::CompletedButDiscarded { + end_idx: idx, + marker_idx, + response: response.clone(), + } + } + Some(CompletionMarker::Delivered(marker_idx)) => Resolution::Completed { end_idx: idx, - marker_idx, response: response.clone(), + forced_commit: *forced_commit, + delivery_marker: Some(marker_idx), }, None => Resolution::Completed { end_idx: idx, response: response.clone(), forced_commit: *forced_commit, + delivery_marker: None, }, }; self.st .concurrent_resolver - .resolve_if_pending(*start_index, resolution); + .resolve_if_pending(*start_index, idx, resolution); } OplogEntry::Cancelled { start_index, @@ -738,6 +835,7 @@ impl CursorTx<'_> { } => { self.st.concurrent_resolver.resolve_if_pending( *start_index, + idx, Resolution::Cancelled { cancelled_idx: idx, partial: partial.clone(), @@ -748,10 +846,10 @@ impl CursorTx<'_> { } } - /// Returns the index of the `CompletionDiscarded` marker for the durable call starting at - /// `start_index`, if one exists and lies outside any deleted region (a marker inside a - /// reverted/jumped-away region belongs to an abandoned timeline, so its `End` — if still - /// visible — is delivered normally). + /// Returns the guest-delivery marker for the durable call starting at `start_index`, if one + /// exists and lies outside any deleted region. A marker in a reverted/jumped-away region + /// belongs to an abandoned timeline, so a still-visible `End` uses the legacy immediate + /// delivery behavior. /// /// The `discarded_completions` map is populated only from entries at or before the replay /// target (the construction scan is bounded by the initial target and target growth rescans @@ -761,18 +859,15 @@ impl CursorTx<'_> { /// status of that `End` is not decidable from the visible prefix — and is rejected at /// delivery time ([`ReplayState::await_resolution_outcome`]) as well as up front by debug /// target validation and cut-point (fork/revert) validation. - pub(super) fn discarded_completion_marker( - &self, - start_index: OplogIndex, - ) -> Option { - let marker_idx = *self + pub(super) fn completion_marker(&self, start_index: OplogIndex) -> Option { + let marker = *self .cursor - .discarded_completions + .completion_markers .lock() .unwrap() .get(&start_index)?; - if !self.st.skipped_regions.is_in_deleted_region(marker_idx) { - Some(marker_idx) + if !self.st.skipped_regions.is_in_deleted_region(marker.index()) { + Some(marker) } else { None } @@ -786,6 +881,87 @@ impl CursorTx<'_> { .push(event); } + /// Registers a resolver for a claimed `Start`. Successful calls carrying a delivery marker are + /// resolved from a non-consuming lookahead to their `End`: this lets the host continuation run + /// while the positional cursor remains available for durable operations recorded before the + /// completion became guest-visible. The matching terminal remains resolver-owned and is + /// auto-drained when those intervening operations advance the cursor to it. + async fn register_claimed_start( + &mut self, + start_idx: OplogIndex, + ) -> Result { + let prefetched = if let Some(marker) = self.completion_marker(start_idx) { + let marker_idx = marker.index(); + let scan = self + .cursor + .scan_oplog( + start_idx.next(), + marker_idx, + &self.st.skipped_regions, + self.st + .skipped_regions + .find_next_deleted_region(start_idx.next()), + OplogIndex::NONE, + |entry, _, index: &Option| { + terminal_start_index(entry) == Some(start_idx) + && index.is_some_and(|index| index < marker_idx) + }, + |_, _, _| true, + None, + |_, index, current: &mut Option| *current = Some(index), + ) + .await; + match scan { + OplogEntryLookupResult::Found { index, entry, .. } => match *entry { + OplogEntry::End { + response, + forced_commit, + .. + } => Some(( + index, + match marker { + CompletionMarker::Delivered(marker_idx) => Resolution::Completed { + end_idx: index, + response, + delivery_marker: Some(marker_idx), + forced_commit, + }, + CompletionMarker::Discarded(marker_idx) => { + Resolution::CompletedButDiscarded { + end_idx: index, + marker_idx, + response, + } + } + }, + )), + OplogEntry::Cancelled { .. } => { + return Err(WorkerExecutorError::runtime(format!( + "corrupt oplog: successful-completion marker at {marker_idx} references cancelled durable call Start at {start_idx}" + ))); + } + _ => unreachable!("the prefetch scan accepts only matching terminals"), + }, + OplogEntryLookupResult::NotFound { .. } => { + return Err(WorkerExecutorError::runtime(format!( + "corrupt oplog: successful-completion marker at {marker_idx} references durable call Start at {start_idx} without a matching End before the marker" + ))); + } + } + } else { + None + }; + + let receiver = self.st.concurrent_resolver.register(start_idx); + if let Some((terminal_idx, resolution)) = prefetched { + self.st + .concurrent_resolver + .resolve_prefetched(start_idx, terminal_idx, resolution); + } + self.notify_progress = true; + Ok(ReplayCallHandle::new(start_idx, receiver)) + } + /// Claims the first not-yet-claimed `Start` entry matching `matches_identity`, registering a /// resolver receiver keyed by the `Start`'s index and returning the registered handle together /// with the claimed entry. Shared core of every concurrent-replay `Start` claim. @@ -817,20 +993,21 @@ impl CursorTx<'_> { &mut self, matches_identity: impl Fn(&OplogEntry) -> bool, expected: impl FnOnce() -> String, - ) -> Result<(ReplayCallHandle, Box), WorkerExecutorError> { + ) -> Result)>, WorkerExecutorError> { // Head fast path: auto-drains awaited terminals and already-claimed `Start`s, then // consumes the head iff it matches this claim's identity. if let Some((start_idx, entry)) = self.try_get_oplog_entry(&matches_identity).await? { - let receiver = self.st.concurrent_resolver.register(start_idx); - // A newly-registered awaiter means an `End`/`Cancelled` already sitting at (or arriving - // at) the cursor head may now be a drainable awaited terminal: have `finish_tx` wake - // suspended awaiters so they re-drive the cursor. - self.notify_progress = true; - return Ok((ReplayCallHandle::new(start_idx, receiver), Box::new(entry))); + let handle = self.register_claimed_start(start_idx).await?; + return Ok(Some((handle, Box::new(entry)))); + } + if self.blocked_on_completion_delivery { + return Ok(None); } // The head belongs to someone else: scan ahead for the first not-yet-claimed matching - // `Start`, skipping deleted regions exactly like the cursor itself would. + // `Start`, skipping deleted regions exactly like the cursor itself would. A delivery + // marker bounds the scan: a later `Start` must not be claimed before the recorded guest + // handoff at that marker. let already_claimed = self.st.claimed_starts.clone(); let replay_target = self.cursor.replay_target(); let scan_result = self @@ -845,7 +1022,8 @@ impl CursorTx<'_> { state .map(|idx| idx <= replay_target && !already_claimed.contains(&idx)) .unwrap_or(false) - && matches_identity(entry) + && (matches_identity(entry) + || matches!(entry, OplogEntry::CompletionDelivered { .. })) }, |_, _, _| true, None, @@ -857,10 +1035,13 @@ impl CursorTx<'_> { match scan_result { OplogEntryLookupResult::Found { index, entry, .. } => { + if matches!(entry.as_ref(), OplogEntry::CompletionDelivered { .. }) { + self.blocked_on_completion_delivery = true; + return Ok(None); + } self.st.claimed_starts.insert(index); - let receiver = self.st.concurrent_resolver.register(index); - self.notify_progress = true; - Ok((ReplayCallHandle::new(index, receiver), entry)) + let handle = self.register_claimed_start(index).await?; + Ok(Some((handle, entry))) } OplogEntryLookupResult::NotFound { .. } => { Err(WorkerExecutorError::unexpected_oplog_entry( @@ -880,7 +1061,14 @@ impl CursorTx<'_> { matches_identity: impl Fn(&OplogEntry) -> bool, expected_request: &HostRequest, expected: impl FnOnce() -> String, - ) -> Result<(ReplayCallHandle, Box), WorkerExecutorError> { + ) -> Result)>, WorkerExecutorError> { + // Drain any awaited terminals at the head and detect a delivery marker before the + // request-payload scan. The false predicate leaves an ordinary candidate untouched. + self.try_get_oplog_entry(|_| false).await?; + if self.blocked_on_completion_delivery { + return Ok(None); + } + let already_claimed = self.st.claimed_starts.clone(); let mut scan_start = self.cursor.last_replayed_index().next(); let replay_target = self.cursor.replay_target(); @@ -898,7 +1086,8 @@ impl CursorTx<'_> { state .map(|idx| idx <= replay_target && !already_claimed.contains(&idx)) .unwrap_or(false) - && matches_identity(entry) + && (matches_identity(entry) + || matches!(entry, OplogEntry::CompletionDelivered { .. })) }, |_, _, _| true, None, @@ -911,6 +1100,10 @@ impl CursorTx<'_> { let OplogEntryLookupResult::Found { index, entry, .. } = scan_result else { break; }; + if matches!(entry.as_ref(), OplogEntry::CompletionDelivered { .. }) { + self.blocked_on_completion_delivery = true; + return Ok(None); + } let OplogEntry::Start { request: Some(recorded_request), .. @@ -932,9 +1125,8 @@ impl CursorTx<'_> { })?; if payload_matches { self.st.claimed_starts.insert(index); - let receiver = self.st.concurrent_resolver.register(index); - self.notify_progress = true; - return Ok((ReplayCallHandle::new(index, receiver), entry)); + let handle = self.register_claimed_start(index).await?; + return Ok(Some((handle, entry))); } scan_start = index.next(); @@ -954,7 +1146,7 @@ impl CursorTx<'_> { pub(super) async fn claim_start( &mut self, claim: &StartClaim, - ) -> Result<(ReplayCallHandle, Box), WorkerExecutorError> { + ) -> Result)>, WorkerExecutorError> { let matches_identity = |entry: &OplogEntry| { matches!(entry, OplogEntry::Start { function_name, @@ -976,7 +1168,7 @@ impl CursorTx<'_> { && *parent_start_index == claim.expected_parent_start_index()) }; let expected = || claim.expected_description(); - let (handle, entry) = match claim.matching_request() { + let claimed = match claim.matching_request() { Some(expected_request) => { self.claim_start_matching_request(matches_identity, expected_request, expected) .await? @@ -986,17 +1178,20 @@ impl CursorTx<'_> { .await? } }; + let Some((handle, entry)) = claimed else { + return Ok(None); + }; // Every `Start` claim registers a resolver awaiter atomically with the consume/claim, so // its terminal is always a resolver-routed *awaited terminal* — never an orphan a parked // awaiter behind it could sleep on until `switch_to_live`. The only un-drained terminals // the cursor may leave at its head are the dedicated-positional-consumer pairs (manual // durability, `GolemApiFork`). debug_assert!( - self.st.concurrent_resolver.is_pending(handle.start_idx()), + self.st.concurrent_resolver.has_claim(handle.start_idx()), "Start claim at {} must leave a registered awaiter", handle.start_idx() ); - Ok((handle, entry)) + Ok(Some((handle, entry))) } /// Switches the cursor to live mode: records `ReplayFinished` if replay was still in progress, @@ -1058,11 +1253,13 @@ impl ReplayState { ) -> Result { let next_skipped_region = skipped_regions.find_next_deleted_region(OplogIndex::NONE); let last_oplog_index = oplog.current_oplog_index().await; - let discarded_completions = - Self::scan_discarded_completions(&oplog, OplogIndex::INITIAL, last_oplog_index).await?; + let completion_markers = + Self::scan_completion_markers(&oplog, OplogIndex::INITIAL, last_oplog_index).await?; let cursor = ReplayCursor { owned_agent_id, oplog, + advance_gate: Arc::new(tokio::sync::Mutex::new(())), + delivery_failure: std::sync::Mutex::new(None), position: PublishedPosition { last_replayed_index: AtomicOplogIndex::from_oplog_index(OplogIndex::NONE), last_replayed_non_hint_index: AtomicOplogIndex::from_oplog_index(OplogIndex::NONE), @@ -1072,6 +1269,7 @@ impl ReplayState { state: Mutex::new(CursorState { skipped_regions, next_skipped_region, + skip_hints_after_delivery: false, replay_buffer: VecDeque::new(), pending_fork_starts: HashSet::new(), concurrent_resolver: ConcurrentReplayResolver::default(), @@ -1079,7 +1277,7 @@ impl ReplayState { claimed_custom_invocation_ids: HashSet::new(), custom_subtrees: HashMap::new(), }), - discarded_completions: std::sync::Mutex::new(discarded_completions), + completion_markers: std::sync::Mutex::new(completion_markers), log_hashes: std::sync::Mutex::new(HashMap::new()), pending_replay_events: std::sync::Mutex::new(Vec::new()), progress: Notify::new(), @@ -1087,7 +1285,7 @@ impl ReplayState { { // No concurrency during construction: the replay state is not shared yet, so driving the // cursor without anyone to notify is sound. - let mut tx = cursor.tx().await; + let mut tx = cursor.tx().await?; tx.move_replay_idx(OplogIndex::INITIAL).await; // By this we handle initial skipped regions applied by manual updates correctly tx.skip_forward().await?; } @@ -1096,19 +1294,16 @@ impl ReplayState { }) } - /// Scans the oplog range `[from, to]` for `CompletionDiscarded` marker entries, building the - /// `Start`-index → marker-index map consulted when an `End` is resolved during replay. Used - /// with `[INITIAL, initial replay target]` at construction and with exactly the newly visible - /// range when the replay target grows ([`ReplayState::set_replay_target`]). Two markers - /// referencing the same `Start` within the scanned range is oplog corruption and fails the - /// scan. - pub(super) async fn scan_discarded_completions( + /// Scans `[from, to]` for successful-completion delivery markers. Exactly one of + /// `CompletionDelivered` or `CompletionDiscarded` may reference a `Start`; duplicates or a + /// conflicting pair are oplog corruption. + pub(super) async fn scan_completion_markers( oplog: &Arc, from: OplogIndex, to: OplogIndex, - ) -> Result, WorkerExecutorError> { + ) -> Result, WorkerExecutorError> { const CHUNK_SIZE: u64 = 1024; - let mut discarded = HashMap::new(); + let mut markers = HashMap::new(); let mut next = from; while next <= to { let available = u64::from(to) - u64::from(next) + 1; @@ -1120,38 +1315,101 @@ impl ReplayState { if marker_idx > to { break; } - if let OplogEntry::CompletionDiscarded { start_index, .. } = entry - && discarded.insert(start_index, marker_idx).is_some() + let marker = match entry { + OplogEntry::CompletionDelivered { start_index, .. } => { + Some((start_index, CompletionMarker::Delivered(marker_idx))) + } + OplogEntry::CompletionDiscarded { start_index, .. } => { + Some((start_index, CompletionMarker::Discarded(marker_idx))) + } + _ => None, + }; + if let Some((start_index, marker)) = marker + && let Some(previous) = markers.insert(start_index, marker) { return Err(WorkerExecutorError::runtime(format!( - "corrupt oplog: multiple CompletionDiscarded markers reference the durable call Start at {start_index} (second marker at {marker_idx})" + "corrupt oplog: multiple completion-delivery markers reference the durable call Start at {start_index} ({} at {}, {} at {})", + previous.entry_name(), + previous.index(), + marker.entry_name(), + marker.index(), ))); } } next = last_read.next(); } - Ok(discarded) + Ok(markers) } - /// Records a live-appended `CompletionDiscarded` marker: the durable call starting at - /// `start_index` persisted a successful `End`, but the guest dropped the completion future - /// before the response was delivered, and the marker was appended at `marker_index`. If this - /// instance later re-enters replay over these entries (e.g. a manual-update restart), the - /// recorded `End` must park instead of delivering the response. - pub fn record_discarded_completion(&self, start_index: OplogIndex, marker_index: OplogIndex) { + /// Records a live-appended successful-completion delivery marker in the same map populated by + /// the replay scan. + pub(super) fn record_completion_marker( + &self, + start_index: OplogIndex, + marker: CompletionMarker, + ) { let previous = self .cursor - .discarded_completions + .completion_markers .lock() .unwrap() - .insert(start_index, marker_index); + .insert(start_index, marker); if let Some(previous) = previous { tracing::warn!( - "duplicate CompletionDiscarded marker recorded for durable call Start {start_index}: previous at {previous}, new at {marker_index}" + "duplicate completion-delivery marker recorded for durable call Start {start_index}: {} at {}, {} at {}", + previous.entry_name(), + previous.index(), + marker.entry_name(), + marker.index(), ); } } + pub fn record_discarded_completion(&self, start_index: OplogIndex, marker_index: OplogIndex) { + self.record_completion_marker(start_index, CompletionMarker::Discarded(marker_index)); + } + + pub fn record_delivered_completion(&self, start_index: OplogIndex, marker_index: OplogIndex) { + self.record_completion_marker(start_index, CompletionMarker::Delivered(marker_index)); + } + + pub(super) fn record_delivery_failure(&self, failure: String) { + let mut current = self.cursor.delivery_failure.lock().unwrap(); + if current.is_none() { + tracing::error!("{failure}"); + *current = Some(failure); + } + } + + pub(in crate::durable_host) fn fail_completion_delivery( + &self, + start_index: OplogIndex, + marker_index: OplogIndex, + reason: impl Into, + ) { + self.record_delivery_failure(format!( + "replay could not reproduce CompletionDelivered at {marker_index} for durable call Start at {start_index}: {}", + reason.into() + )); + self.cursor.progress.notify_waiters(); + } + + /// Poisons replay because a markerless completed durable call (its recorded run crashed after + /// the `End` became durable but before the completion crossed to the guest) hit a delivery + /// boundary while it was still tail-gated: its delivery token must first wait for the replay + /// tail via `CompletionDelivery::prepare_delivery`. + pub(in crate::durable_host) fn fail_tail_delivery( + &self, + start_index: OplogIndex, + reason: impl Into, + ) { + self.record_delivery_failure(format!( + "replay could not withhold the markerless completion of durable call Start at {start_index} until the end of the replay tail: {}", + reason.into() + )); + self.cursor.progress.notify_waiters(); + } + /// Runs `op` inside a cursor transaction: acquires the cursor lock via [`ReplayCursor::tx`], /// awaits the operation, and always finishes the transaction via [`ReplayCursor::finish_tx`] /// (publishing the cursor position and waking parked awaiters) before returning the @@ -1162,9 +1420,12 @@ impl ReplayState { /// This wraps only the transaction lifecycle. It is *not* accessor-safe by itself: callers /// running inside Wasmtime accessor futures must reach it through /// [`Self::run_owned_cursor_op`] so they never queue on the fair cursor mutex directly. - pub(super) async fn with_tx(&self, op: impl AsyncFnOnce(&mut CursorTx<'_>) -> R) -> R { + pub(super) async fn with_tx( + &self, + op: impl AsyncFnOnce(&mut CursorTx<'_>) -> Result, + ) -> Result { let cursor = &*self.cursor; - let mut tx = cursor.tx().await; + let mut tx = cursor.tx().await?; let result = op(&mut tx).await; cursor.finish_tx(tx); result @@ -1230,7 +1491,12 @@ impl ReplayState { pub async fn switch_to_live(&self) { let result = self .run_owned_cursor_op(|state| async move { - state.with_tx(async |tx| tx.switch_to_live()).await; + state + .with_tx(async |tx| { + tx.switch_to_live(); + Ok(()) + }) + .await?; // `CursorTx::switch_to_live` publishes the cursor position directly (not via // `move_replay_idx`), so replay-progress observers are notified here. state @@ -1261,10 +1527,10 @@ impl ReplayState { /// Sets the replay target. This is a phase-boundary operation (e.g. refreshing the target /// before replay resumes); it must not race with concurrent cursor advances. /// - /// The discarded-completion map is kept in sync with the visible prefix `[.., target]`: + /// The completion-marker map is kept in sync with the visible prefix `[.., target]`: /// /// - Growing the target makes a previously invisible oplog range visible, so the newly - /// visible range `(old_target, new_target]` is scanned for `CompletionDiscarded` markers + /// visible range `(old_target, new_target]` is scanned for completion-delivery markers /// *before* the new target is published — a debug session constructed with a target before /// a marker and later grown past it must park the marked `End` instead of delivering it. /// The merged additions are validated (duplicate markers for the same `Start` are oplog @@ -1289,34 +1555,38 @@ impl ReplayState { std::cmp::Ordering::Less => { tx.st.replay_buffer.clear(); cursor - .discarded_completions + .completion_markers .lock() .unwrap() - .retain(|_, marker_idx| *marker_idx <= new_target); + .retain(|_, marker| marker.index() <= new_target); } std::cmp::Ordering::Greater => { - let additions = Self::scan_discarded_completions( + let additions = Self::scan_completion_markers( &cursor.oplog, old_target.next(), new_target, ) .await?; if !additions.is_empty() { - let mut discarded = cursor.discarded_completions.lock().unwrap(); - for (start_index, marker_idx) in &additions { + let mut markers = cursor.completion_markers.lock().unwrap(); + for (start_index, marker) in &additions { // Rediscovering the exact marker already in the map (recorded live by - // this instance via `record_discarded_completion` before the target + // this instance before the target // grew over it) is idempotent; only a *different* marker for the same // `Start` is oplog corruption. - if let Some(previous) = discarded.get(start_index) - && previous != marker_idx + if let Some(previous) = markers.get(start_index) + && previous != marker { return Err(WorkerExecutorError::runtime(format!( - "corrupt oplog: multiple CompletionDiscarded markers reference the durable call Start at {start_index} (previous at {previous}, second marker at {marker_idx})" + "corrupt oplog: multiple completion-delivery markers reference the durable call Start at {start_index} ({} at {}, {} at {})", + previous.entry_name(), + previous.index(), + marker.entry_name(), + marker.index(), ))); } } - discarded.extend(additions); + markers.extend(additions); } } } @@ -1362,7 +1632,7 @@ impl ReplayState { /// issued from outside the event loop. The invocation completion path polls the event loop /// until this reports `false` before any such read. pub fn has_open_cursor_transaction(&self) -> bool { - self.cursor.state.try_lock().is_err() + self.cursor.state.try_lock().is_err() || self.cursor.advance_gate.try_lock().is_err() } /// Reads the next oplog entry, and skips every hint entry following it. @@ -1373,11 +1643,23 @@ impl ReplayState { /// corrupted GolemApiFork payload) so the worker can fail the agent with a /// non-retriable trap rather than panicking the executor. pub async fn get_oplog_entry(&self) -> Result<(OplogIndex, OplogEntry), WorkerExecutorError> { - // The closure always returns true, so the only `None` case is end-of-replay (a positional - // reader expecting an entry that the oplog does not contain). - self.with_tx(async |tx| tx.try_get_oplog_entry(|_| true).await) - .await? - .ok_or_else(|| self.end_of_replay_error()) + loop { + let progress = self.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + if let Some(entry) = self + .with_tx(async |tx| tx.try_get_oplog_entry(|_| true).await) + .await? + { + return Ok(entry); + } + if self.is_live() { + return Err(self.end_of_replay_error()); + } + // An unconditional reader returns `None` during replay only at a reserved + // `CompletionDelivered` marker. Wait for its owner to consume and acknowledge it. + progress.await; + } } /// Reads the next oplog entry, and if it matches the given condition, skips @@ -1393,8 +1675,22 @@ impl ReplayState { &self, condition: impl FnMut(&OplogEntry) -> bool, ) -> Result, WorkerExecutorError> { - self.with_tx(async |tx| tx.try_get_oplog_entry(condition).await) - .await + let mut condition = condition; + loop { + let progress = self.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + let (entry, blocked_on_completion_delivery) = self + .with_tx(async |tx| { + let entry = tx.try_get_oplog_entry(&mut condition).await?; + Ok((entry, tx.blocked_on_completion_delivery)) + }) + .await?; + if entry.is_some() || !blocked_on_completion_delivery { + return Ok(entry); + } + progress.await; + } } /// [`Self::get_oplog_entry`] variant for callers running inside Wasmtime accessor futures: @@ -1405,10 +1701,21 @@ impl ReplayState { &self, ) -> Result<(OplogIndex, OplogEntry), WorkerExecutorError> { self.run_owned_cursor_op(|state| async move { - state - .with_tx(async |tx| tx.try_get_oplog_entry(|_| true).await) - .await? - .ok_or_else(|| state.end_of_replay_error()) + loop { + let progress = state.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + if let Some(entry) = state + .with_tx(async |tx| tx.try_get_oplog_entry(|_| true).await) + .await? + { + return Ok(entry); + } + if state.is_live() { + return Err(state.end_of_replay_error()); + } + progress.await; + } }) .await } @@ -1628,12 +1935,24 @@ impl ReplayState { &self, abandoned: &mut AbandonedStarts, ) -> Result<(OplogIndex, OplogEntry), WorkerExecutorError> { - self.with_tx(async |tx| { - tx.try_get_oplog_entry_at_invocation_boundary(abandoned, |_| true) - .await - }) - .await? - .ok_or_else(|| self.end_of_replay_error()) + loop { + let progress = self.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + if let Some(entry) = self + .with_tx(async |tx| { + tx.try_get_oplog_entry_at_invocation_boundary(abandoned, |_| true) + .await + }) + .await? + { + return Ok(entry); + } + if self.is_live() { + return Err(self.end_of_replay_error()); + } + progress.await; + } } } diff --git a/golem-worker-executor/src/durable_host/replay_state/mod.rs b/golem-worker-executor/src/durable_host/replay_state/mod.rs index b8b5e6151e..5f9d51cb24 100644 --- a/golem-worker-executor/src/durable_host/replay_state/mod.rs +++ b/golem-worker-executor/src/durable_host/replay_state/mod.rs @@ -102,6 +102,15 @@ pub struct ReplayState { struct ReplayCursor { owned_agent_id: OwnedAgentId, oplog: Arc, + /// Serializes every cursor-advance transaction. A transaction that consumes a + /// `CompletionDelivered` marker transfers this guard to the matching replay delivery token; + /// no later oplog entry can be consumed until the actual guest-delivery boundary acknowledges + /// and releases it. + advance_gate: Arc>, + /// Set when replay cannot reproduce a recorded successful delivery (for example, the guest + /// cancels the completion after its delivery marker was consumed). Every subsequent cursor + /// transaction fails with this same deterministic replay error. + delivery_failure: std::sync::Mutex>, /// Published cursor position. Lock-free reads; writes happen only through a held [`CursorTx`]. position: PublishedPosition, /// The oplog index replay runs up to. Read lock-free everywhere; set at phase boundaries via @@ -114,22 +123,17 @@ struct ReplayCursor { /// awaiter releases it before sleeping (see [`ReplayState::await_resolution_outcome`]) — and no /// operation performed while it is held re-acquires it. state: Mutex, - /// Durable calls whose successful `End` was persisted but whose completion was never - /// delivered to the guest (the guest dropped the accessor completion future), keyed by the - /// call's `Start` index and mapping to the physical index of the `CompletionDiscarded` - /// marker entry. Populated by a scan bounded by the *initial replay target* at construction - /// ([`ReplayState::new`]) — the marker always lies physically *after* its `End`, so replay - /// must know about it before the cursor reaches the `End`; discovering it via ordinary hint - /// skipping would be too late. When the replay target grows ([`ReplayState::set_replay_target`], - /// e.g. a debug session stepping to a later index), exactly the newly visible range is - /// rescanned and merged before the new target is published, so the map never contains — nor - /// misses — a marker relative to the effective target. Extended live via - /// [`ReplayState::record_discarded_completion`] when a marker is appended by this instance. + /// Guest-delivery outcomes for successful durable calls, keyed by the call's `Start` index. + /// `CompletionDiscarded` prevents replay from delivering the response; `CompletionDelivered` + /// delays delivery until the cursor reaches the marker's physical position. The marker always + /// lies after its `End`, so replay scans the visible oplog prefix before resolving any `End`. + /// Target growth rescans exactly the newly visible range, and live marker recording extends + /// the same map. /// /// A `std` mutex (like `log_hashes`) rather than part of [`CursorState`]: the live marker /// recorder is an owned tokio task that must not queue on the cursor lock, and all accesses /// are short synchronous map operations that never hold the lock across an `await`. - discarded_completions: std::sync::Mutex>, + completion_markers: std::sync::Mutex>, /// Hashes of log entries persisted since the last read non-hint oplog entry, with their /// number of occurrences. A counted multiset (not a set) because large or repetitive /// stdout/stderr output regularly produces identical consecutive log entries, each of which @@ -159,6 +163,82 @@ struct ReplayCursor { progress: Notify, } +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(super) enum CompletionMarker { + Delivered(OplogIndex), + Discarded(OplogIndex), +} + +/// Ownership of the global replay cursor gate after the matching `CompletionDelivered` marker has +/// been consumed. The guard is acknowledged only at the same guest-facing boundary that recorded +/// the marker live; until then every later cursor transaction remains blocked. +pub(in crate::durable_host) struct ReplayDeliveryBarrier { + replay_state: ReplayState, + start_index: OplogIndex, + marker_index: OplogIndex, + gate: Option>, +} + +impl ReplayDeliveryBarrier { + fn new( + replay_state: ReplayState, + start_index: OplogIndex, + marker_index: OplogIndex, + gate: tokio::sync::OwnedMutexGuard<()>, + ) -> Self { + Self { + replay_state, + start_index, + marker_index, + gate: Some(gate), + } + } + + pub(in crate::durable_host) fn acknowledge(mut self) { + self.gate.take(); + self.replay_state.cursor.progress.notify_waiters(); + } + + pub(in crate::durable_host) fn fail(mut self, reason: impl Into) { + self.replay_state.record_delivery_failure(format!( + "replay could not reproduce CompletionDelivered at {} for durable call Start at {}: {}", + self.marker_index, + self.start_index, + reason.into() + )); + self.gate.take(); + self.replay_state.cursor.progress.notify_waiters(); + } +} + +impl Drop for ReplayDeliveryBarrier { + fn drop(&mut self) { + if self.gate.is_some() { + self.replay_state.record_delivery_failure(format!( + "replay delivery barrier for CompletionDelivered at {} and durable call Start at {} was dropped before the recorded guest-delivery boundary", + self.marker_index, self.start_index + )); + self.gate.take(); + self.replay_state.cursor.progress.notify_waiters(); + } + } +} + +impl CompletionMarker { + fn index(self) -> OplogIndex { + match self { + Self::Delivered(index) | Self::Discarded(index) => index, + } + } + + fn entry_name(self) -> &'static str { + match self { + Self::Delivered(_) => "CompletionDelivered", + Self::Discarded(_) => "CompletionDiscarded", + } + } +} + /// The published, lock-free-readable cursor position. The index fields are written only while /// [`ReplayCursor::state`] is held (through a [`CursorTx`]), so a lock-free reader never observes /// a partially-applied advance; `has_seen_logs` is written only while [`ReplayCursor::log_hashes`] @@ -180,6 +260,10 @@ struct PublishedPosition { struct CursorState { skipped_regions: DeletedRegions, next_skipped_region: Option, + /// Set after consuming a `CompletionDelivered` marker. Its following hints cannot be skipped + /// until the delivery barrier is acknowledged, because doing so would advance replay beyond + /// the recorded guest callback boundary. + skip_hints_after_delivery: bool, /// Entries prefetched from the oplog, beginning at the next speculative cursor position. replay_buffer: VecDeque<(OplogIndex, OplogEntry)>, /// `Start` entries for `GolemApiFork` whose matching `End` has not yet been replayed. When the diff --git a/golem-worker-executor/src/durable_host/replay_state/resolution.rs b/golem-worker-executor/src/durable_host/replay_state/resolution.rs index b3b86d2463..177f07b220 100644 --- a/golem-worker-executor/src/durable_host/replay_state/resolution.rs +++ b/golem-worker-executor/src/durable_host/replay_state/resolution.rs @@ -46,22 +46,116 @@ impl ReplayState { &self, outcome: ResolutionOutcome, ) -> Result { - if let ResolutionOutcome::Resolved(Resolution::CompletedButDiscarded { - end_idx, - marker_idx, - .. - }) = &outcome - { + let marker = match &outcome { + ResolutionOutcome::Resolved(Resolution::Completed { + end_idx, + delivery_marker: Some(marker_idx), + .. + }) => Some((*end_idx, *marker_idx, "CompletionDelivered")), + ResolutionOutcome::Resolved(Resolution::CompletedButDiscarded { + end_idx, + marker_idx, + .. + }) => Some((*end_idx, *marker_idx, "CompletionDiscarded")), + _ => None, + }; + if let Some((end_idx, marker_idx, marker_name)) = marker { let target = self.replay_target(); - if *marker_idx > target { + if marker_idx > target { return Err(WorkerExecutorError::invalid_request(format!( - "invalid replay target {target}: it lies between a durable call's successful End at {end_idx} and its CompletionDiscarded marker at {marker_idx}, so the delivery status of the completion is undecidable at this target" + "invalid replay target {target}: it lies between a durable call's successful End at {end_idx} and its {marker_name} marker at {marker_idx}, so the delivery status of the completion is undecidable at this target" ))); } } Ok(outcome) } + /// Waits until the exact recorded successful-delivery marker reaches the cursor head, commits + /// it, and transfers the global cursor-advance gate to the caller. Host-side continuation may + /// consume entries between `End` and this marker before calling this method; after it returns, + /// no later entry can replay until the actual guest-delivery boundary acknowledges the guard. + pub(in crate::durable_host) async fn await_completion_delivery( + &self, + start_index: OplogIndex, + marker_index: OplogIndex, + ) -> Result { + loop { + let progress = self.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + + let gate = self + .run_owned_cursor_op(move |state| async move { + state + .with_tx(async |tx| { + tx.consume_completion_delivered(start_index, marker_index) + .await + }) + .await + }) + .await?; + if let Some(gate) = gate { + return Ok(ReplayDeliveryBarrier::new( + self.clone(), + start_index, + marker_index, + gate, + )); + } + + if self.is_live() { + return Err(WorkerExecutorError::unexpected_oplog_entry( + format!( + "CompletionDelivered {{ start_index: {start_index} }} at {marker_index}" + ), + format!( + "end of replay at {}; the recorded delivery marker was not consumed", + self.last_replayed_index() + ), + )); + } + + progress.await; + } + } + + /// Waits until the recorded replay tail is naturally exhausted and the cursor is live. + /// + /// Used to withhold the completion of a markerless successful durable call (its recorded run + /// crashed after the `End` became durable but before the completion crossed to the guest): no + /// recorded tail entry can depend on that delivery (a `CompletionDelivered` marker would + /// precede any dependent entry), so parking the delivery until the tail exhausts cannot + /// deadlock, while delivering earlier could make the replayed guest skip recorded entries. + /// + /// Each round drains whatever the cursor can consume without a positional owner (awaited and + /// orphan terminals, scan-ahead-claimed `Start`s, trailing hints) so a tail whose remaining + /// entries have no active reader still exhausts, then parks on cursor progress while a real + /// entry (or a reserved delivery marker owned by another token) sits at the head. + pub(in crate::durable_host) async fn await_natural_tail_end( + &self, + ) -> Result<(), WorkerExecutorError> { + loop { + let progress = self.cursor.progress.notified(); + tokio::pin!(progress); + progress.as_mut().enable(); + + self.run_owned_cursor_op(move |state| async move { + state + .with_tx(async |tx| { + tx.try_get_oplog_entry(|_| false).await?; + Ok(()) + }) + .await + }) + .await?; + if self.is_live() { + return Ok(()); + } + + progress.await; + } + } + /// Awaits the resolution of the call identified by `handle`, treating end-of-replay as a hard /// error (the caller requires the call to have completed in the oplog). pub async fn await_resolution( diff --git a/golem-worker-executor/src/durable_host/replay_state/tests.rs b/golem-worker-executor/src/durable_host/replay_state/tests.rs index 892e83efc4..2521c88f33 100644 --- a/golem-worker-executor/src/durable_host/replay_state/tests.rs +++ b/golem-worker-executor/src/durable_host/replay_state/tests.rs @@ -1,5 +1,5 @@ use super::*; -use crate::services::oplog::{CommitLevel, OrderedOplogStart, PendingUpload}; +use crate::services::oplog::{CommitLevel, OplogAddReceipt, OrderedOplogStart, PendingUpload}; use async_trait::async_trait; use golem_common::model::component::ComponentId; use golem_common::model::environment::EnvironmentId; @@ -23,14 +23,14 @@ type StoredExternalPayload = (PayloadId, Vec, Vec); /// Minimal in-memory `Oplog` used to drive a [`ReplayState`] over hand-built entries. #[derive(Debug)] struct InMemoryOplog { - entries: tokio::sync::Mutex>, + entries: std::sync::Mutex>, external_payloads: tokio::sync::Mutex>, } impl InMemoryOplog { fn new() -> Self { Self { - entries: tokio::sync::Mutex::new(Vec::new()), + entries: std::sync::Mutex::new(Vec::new()), external_payloads: tokio::sync::Mutex::new(Vec::new()), } } @@ -54,17 +54,24 @@ impl InMemoryOplog { #[async_trait] impl Oplog for InMemoryOplog { async fn add(&self, entry: OplogEntry) -> OplogIndex { - let mut entries = self.entries.lock().await; + let mut entries = self.entries.lock().unwrap(); entries.push(entry); OplogIndex::from_u64(entries.len() as u64) } + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + let mut entries = self.entries.lock().unwrap(); + entries.push(entry); + let index = OplogIndex::from_u64(entries.len() as u64); + Box::pin(async move { index }) + } + async fn add_pair( &self, start: OplogEntry, make_second: Box OplogEntry + Send>, ) -> (OplogIndex, OplogIndex) { - let mut entries = self.entries.lock().await; + let mut entries = self.entries.lock().unwrap(); entries.push(start); let first_idx = OplogIndex::from_u64(entries.len() as u64); entries.push(make_second(first_idx)); @@ -95,7 +102,7 @@ impl Oplog for InMemoryOplog { } async fn current_oplog_index(&self) -> OplogIndex { - OplogIndex::from_u64(self.entries.lock().await.len() as u64) + OplogIndex::from_u64(self.entries.lock().unwrap().len() as u64) } async fn last_added_non_hint_entry(&self) -> Option { @@ -107,13 +114,13 @@ impl Oplog for InMemoryOplog { } async fn read(&self, oplog_index: OplogIndex) -> OplogEntry { - let entries = self.entries.lock().await; + let entries = self.entries.lock().unwrap(); let idx: u64 = oplog_index.into(); entries[(idx - 1) as usize].clone() } async fn read_many(&self, oplog_index: OplogIndex, n: u64) -> BTreeMap { - let entries = self.entries.lock().await; + let entries = self.entries.lock().unwrap(); let start: u64 = oplog_index.into(); let mut result = BTreeMap::new(); for i in start..(start + n) { @@ -125,7 +132,7 @@ impl Oplog for InMemoryOplog { } async fn length(&self) -> u64 { - self.entries.lock().await.len() as u64 + self.entries.lock().unwrap().len() as u64 } async fn upload_raw_payload(&self, _data: Vec) -> Result { @@ -1420,6 +1427,13 @@ fn discarded_for(start_index: u64) -> OplogEntry { } } +fn delivered_for(start_index: u64) -> OplogEntry { + OplogEntry::CompletionDelivered { + timestamp: Timestamp::now_utc(), + start_index: OplogIndex::from_u64(start_index), + } +} + fn start_with_parent(parent_start_index: u64) -> OplogEntry { OplogEntry::Start { timestamp: Timestamp::now_utc(), @@ -1470,6 +1484,29 @@ async fn invocation_boundary_tolerates_abandoned_closed_start() { )); } +#[test] +async fn invocation_boundary_rejects_abandoned_delivered_completion() { + // A CompletionDelivered marker proves the recorded guest received the call's result. If replay + // reaches the invocation boundary without claiming that Start, this is divergence rather than + // a tolerable live-only abandoned branch and must fail instead of parking forever at the marker. + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + invocation_finished(), + ]) + .await; + + let error = read_invocation_finished(&rs) + .await + .expect_err("an unclaimed delivered completion must be fatal"); + assert!( + error.to_string().contains("recorded guest received"), + "unexpected error: {error}" + ); +} + #[test] async fn invocation_boundary_tolerates_abandoned_cancelled_start() { // Same as above but the abandoned call was closed by a `Cancelled` terminal. @@ -1895,6 +1932,509 @@ async fn replay_resolves_completed_but_discarded() { } } +#[test] +async fn marked_completion_is_prefetched_without_advancing_past_intervening_entry() { + // The call completed only after another durable operation was recorded. Replay must expose the + // host result without consuming that intervening operation, otherwise a guest scheduler that + // waits for the call's readiness before reproducing the operation deadlocks. Guest delivery is + // still held at the marker after both the intervening entry and the End are consumed. + let rs = replay_state_over(vec![ + noop(), + start_now(), + begin_atomic_region(), + end_for(2, 42), + delivered_for(2), + ]) + .await; + let handle = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + + match rs.await_resolution(handle).await.unwrap() { + Resolution::Completed { + end_idx, + delivery_marker, + .. + } => { + assert_eq!(end_idx, OplogIndex::from_u64(4)); + assert_eq!(delivery_marker, Some(OplogIndex::from_u64(5))); + } + other => panic!("expected marked completion, got {other:?}"), + } + assert_eq!( + rs.last_replayed_index(), + OplogIndex::from_u64(2), + "prefetching the End must not advance the positional cursor" + ); + + let (idx, entry) = rs.get_oplog_entry().await.unwrap(); + assert_eq!(idx, OplogIndex::from_u64(3)); + assert!(matches!(entry, OplogEntry::BeginAtomicRegion { .. })); + + let barrier = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(5)) + .await + .unwrap(); + assert_eq!(rs.last_replayed_index(), OplogIndex::from_u64(5)); + barrier.acknowledge(); +} + +#[test] +async fn replay_delivery_marker_holds_cursor_until_guest_boundary() { + // A completed before B was started, but A's callback was handed to the guest only after B + // completed. Replay returns A's response to its host-side continuation at End, lets B advance, + // then positionally consumes A's delivery marker. Once consumed, no later entry can advance + // until A's actual guest-facing boundary acknowledges the transferred cursor gate. + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + start_now(), + end_for(4, 43), + delivered_for(2), + noop(), + ]) + .await; + let handle_a = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + match rs.await_resolution(handle_a).await.unwrap() { + Resolution::Completed { + end_idx, + delivery_marker, + .. + } => { + assert_eq!(end_idx, OplogIndex::from_u64(3)); + assert_eq!(delivery_marker, Some(OplogIndex::from_u64(6))); + } + other => panic!("expected A to complete for host-side continuation, got {other:?}"), + } + assert_eq!(rs.last_replayed_index(), OplogIndex::from_u64(3)); + + let handle_b = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + match rs.await_resolution(handle_b).await.unwrap() { + Resolution::Completed { end_idx, .. } => assert_eq!(end_idx, OplogIndex::from_u64(5)), + other => panic!("expected B to complete, got {other:?}"), + } + let next = rs.get_oplog_entry(); + tokio::pin!(next); + assert!( + futures::poll!(next.as_mut()).is_pending(), + "an unrelated positional reader must not steal A's delivery marker" + ); + assert_eq!(rs.last_replayed_index(), OplogIndex::from_u64(5)); + + let barrier = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(6)) + .await + .unwrap(); + assert_eq!(rs.last_replayed_index(), OplogIndex::from_u64(6)); + assert_eq!( + rs.last_replayed_non_hint_index(), + OplogIndex::from_u64(5), + "the delivery scheduling barrier remains a hint" + ); + + assert!( + futures::poll!(next.as_mut()).is_pending(), + "later cursor work must wait until the recorded guest boundary" + ); + barrier.acknowledge(); + let (idx, _) = next.await.unwrap(); + assert_eq!(idx, OplogIndex::from_u64(7)); +} + +#[test] +async fn replay_delivery_marker_skips_following_hints_after_guest_boundary() { + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + stdout_log("after-delivery"), + start_now(), + end_for(6, 43), + ]) + .await; + let first = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + rs.await_resolution(first).await.unwrap(); + + let barrier = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(4)) + .await + .unwrap(); + barrier.acknowledge(); + + let second = tokio::time::timeout( + Duration::from_secs(1), + rs.claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ), + ) + .await + .expect("a hint after the delivery marker must not strand the replay cursor") + .unwrap(); + assert_eq!(second.start_idx(), OplogIndex::from_u64(6)); + match rs.await_resolution(second).await.unwrap() { + Resolution::Completed { end_idx, .. } => { + assert_eq!(end_idx, OplogIndex::from_u64(7)); + } + other => panic!("expected the second call to complete, got {other:?}"), + } +} + +#[test] +async fn optional_reader_waits_at_delivery_marker_before_testing_later_entry() { + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + noop(), + ]) + .await; + let handle = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + rs.await_resolution(handle).await.unwrap(); + + let optional = rs.try_get_oplog_entry(|entry| matches!(entry, OplogEntry::NoOp { .. })); + tokio::pin!(optional); + assert!( + futures::poll!(optional.as_mut()).is_pending(), + "a completion marker is a replay barrier, not a predicate mismatch" + ); + + let barrier = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(4)) + .await + .unwrap(); + assert!( + futures::poll!(optional.as_mut()).is_pending(), + "the optional reader must remain blocked until guest delivery" + ); + barrier.acknowledge(); + assert_eq!(optional.await.unwrap().unwrap().0, OplogIndex::from_u64(5)); +} + +#[test] +async fn identity_claim_does_not_scan_past_delivery_marker() { + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + start_now(), + end_for(5, 43), + ]) + .await; + let first = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + rs.await_resolution(first).await.unwrap(); + + let second = rs.claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ); + tokio::pin!(second); + assert!( + tokio::time::timeout(Duration::from_millis(20), second.as_mut()) + .await + .is_err(), + "an identity claim must not scan ahead to a Start after the delivery marker" + ); + + let barrier = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(4)) + .await + .unwrap(); + assert!( + tokio::time::timeout(Duration::from_millis(20), second.as_mut()) + .await + .is_err() + ); + barrier.acknowledge(); + assert_eq!(second.await.unwrap().start_idx(), OplogIndex::from_u64(5)); +} + +#[test] +async fn request_matching_claim_does_not_scan_past_delivery_marker() { + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + start_now(), + end_for(5, 43), + ]) + .await; + let request = HostRequest::NoInput(HostRequestNoInput {}); + let first = rs + .claim_concurrent_start_matching_request( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + &request, + ) + .await + .unwrap(); + rs.await_resolution(first).await.unwrap(); + + let second = rs.claim_concurrent_start_matching_request( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + &request, + ); + tokio::pin!(second); + assert!( + tokio::time::timeout(Duration::from_millis(20), second.as_mut()) + .await + .is_err(), + "a request-matching claim must not scan ahead to a Start after the delivery marker" + ); + + let barrier = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(4)) + .await + .unwrap(); + assert!( + tokio::time::timeout(Duration::from_millis(20), second.as_mut()) + .await + .is_err() + ); + barrier.acknowledge(); + assert_eq!(second.await.unwrap().start_idx(), OplogIndex::from_u64(5)); +} + +#[test] +async fn markerless_completed_end_resolves_without_delivery_marker() { + // The recorded run crashed after the `End` became durable but before the completion crossed + // to the guest, so no `CompletionDelivered` marker follows. The resolution must expose that + // as `delivery_marker: None` — the deferred accessor path tail-gates such completions. + let rs = replay_state_over(vec![noop(), start_now(), end_for(2, 42)]).await; + let handle = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + + match rs.await_resolution(handle).await.unwrap() { + Resolution::Completed { + end_idx, + delivery_marker, + .. + } => { + assert_eq!(end_idx, OplogIndex::from_u64(3)); + assert_eq!(delivery_marker, None); + } + other => panic!("expected markerless completion, got {other:?}"), + } +} + +#[test] +async fn await_natural_tail_end_returns_once_tail_drains() { + // After the markerless call is claimed and resolved, the remaining tail holds only its own + // awaited `End` terminal and a trailing hint — entries the drain loop consumes without a + // positional owner — so the tail-gated waiter exhausts the tail and returns. + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + stdout_log("crash tail hint"), + ]) + .await; + let handle = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + rs.await_resolution(handle).await.unwrap(); + + rs.await_natural_tail_end().await.unwrap(); + assert!(rs.is_live()); +} + +#[test] +async fn await_natural_tail_end_waits_for_positionally_owned_entry() { + // The crash tail contains a real entry (`BeginAtomicRegion`) owned by the replaying guest: + // the tail-gated waiter must park until the guest's positional reader consumes it, and only + // then observe the exhausted tail. Delivering earlier could make the replayed guest skip + // recorded entries — the crash window this gate closes. + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + begin_atomic_region(), + ]) + .await; + let handle = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + rs.await_resolution(handle).await.unwrap(); + + let waiter = rs.await_natural_tail_end(); + tokio::pin!(waiter); + assert!( + tokio::time::timeout(Duration::from_millis(20), waiter.as_mut()) + .await + .is_err(), + "the tail-gated waiter must park while a positionally-owned entry remains" + ); + + let (idx, entry) = rs.get_oplog_entry().await.unwrap(); + assert_eq!(idx, OplogIndex::from_u64(4)); + assert!(matches!(entry, OplogEntry::BeginAtomicRegion { .. })); + + waiter.await.unwrap(); + assert!(rs.is_live()); +} + +#[test] +async fn await_natural_tail_end_propagates_delivery_failure() { + // Poisoning replay (a delivery boundary fired while a completion was still tail-gated) must + // wake and fail a parked tail waiter instead of leaving it parked forever. + let rs = replay_state_over(vec![noop(), begin_atomic_region()]).await; + + let waiter = rs.await_natural_tail_end(); + tokio::pin!(waiter); + assert!( + tokio::time::timeout(Duration::from_millis(20), waiter.as_mut()) + .await + .is_err() + ); + + rs.fail_tail_delivery(OplogIndex::from_u64(1), "test poisoning"); + let err = waiter.await.expect_err("the poisoned waiter must fail"); + assert!( + err.to_string().contains("test poisoning"), + "unexpected error: {err}" + ); +} + +#[test] +async fn replay_delivery_barriers_preserve_adjacent_callback_order() { + let rs = replay_state_over(vec![ + noop(), + start_now(), + start_now(), + end_for(2, 42), + end_for(3, 43), + delivered_for(2), + delivered_for(3), + noop(), + ]) + .await; + let a = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + let b = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + rs.await_resolution(a).await.unwrap(); + rs.await_resolution(b).await.unwrap(); + + let barrier_a = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(6)) + .await + .unwrap(); + let barrier_b = rs.await_completion_delivery(OplogIndex::from_u64(3), OplogIndex::from_u64(7)); + tokio::pin!(barrier_b); + assert!( + futures::poll!(barrier_b.as_mut()).is_pending(), + "B's delivery marker must remain blocked until A reaches the guest" + ); + + barrier_a.acknowledge(); + let barrier_b = barrier_b.await.unwrap(); + assert_eq!(rs.last_replayed_index(), OplogIndex::from_u64(7)); + barrier_b.acknowledge(); + assert_eq!( + rs.get_oplog_entry().await.unwrap().0, + OplogIndex::from_u64(8) + ); +} + +#[test] +async fn dropped_replay_delivery_barrier_fails_later_cursor_work() { + let rs = replay_state_over(vec![ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + noop(), + ]) + .await; + let handle = rs + .claim_concurrent_start( + &HostFunctionName::MonotonicClockNow, + &DurableFunctionType::ReadLocal, + ) + .await + .unwrap(); + rs.await_resolution(handle).await.unwrap(); + let barrier = rs + .await_completion_delivery(OplogIndex::from_u64(2), OplogIndex::from_u64(4)) + .await + .unwrap(); + drop(barrier); + + let error = rs + .get_oplog_entry() + .await + .expect_err("an unacknowledged recorded delivery must fail replay"); + assert!( + error + .to_string() + .contains("dropped before the recorded guest-delivery boundary"), + "unexpected error: {error}" + ); +} + #[test] async fn marker_in_deleted_region_delivers_end_normally() { // A CompletionDiscarded marker inside a deleted region belongs to an abandoned timeline: @@ -1932,6 +2472,39 @@ async fn marker_in_deleted_region_delivers_end_normally() { } } +#[test] +async fn delivered_marker_with_deleted_start_is_skipped_as_orphan() { + // The deleted Start/End belong to an abandoned timeline. Their surviving delivery marker is + // therefore an orphan hint and must not strand positional replay before the next kept entry. + let oplog = Arc::new(InMemoryOplog::new()); + for entry in [ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + noop(), + ] { + oplog.add(entry).await; + } + let oplog: Arc = oplog; + let skipped = + golem_common::model::regions::DeletedRegionsBuilder::from_regions([OplogRegion { + start: OplogIndex::from_u64(2), + end: OplogIndex::from_u64(3), + }]) + .build(); + let rs = ReplayState::new(test_agent_id(), oplog, skipped) + .await + .expect("failed to build replay state"); + + let (index, entry) = tokio::time::timeout(Duration::from_millis(100), rs.get_oplog_entry()) + .await + .expect("an orphan CompletionDelivered marker must not block replay") + .expect("the next kept entry must remain readable"); + assert_eq!(index, OplogIndex::from_u64(5)); + assert!(matches!(entry, OplogEntry::NoOp { .. })); +} + #[test] async fn duplicate_completion_discarded_markers_fail_construction() { // Two markers referencing the same Start is oplog corruption; the upfront scan rejects it. @@ -1955,6 +2528,29 @@ async fn duplicate_completion_discarded_markers_fail_construction() { ); } +#[test] +async fn conflicting_completion_markers_fail_construction() { + let oplog = Arc::new(InMemoryOplog::new()); + for entry in [ + noop(), + start_now(), + end_for(2, 42), + delivered_for(2), + discarded_for(2), + ] { + oplog.add(entry).await; + } + let oplog: Arc = oplog; + let err = ReplayState::new(test_agent_id(), oplog, DeletedRegions::default()) + .await + .expect_err("conflicting markers must fail replay state construction"); + assert!( + err.to_string().contains("CompletionDelivered") + && err.to_string().contains("CompletionDiscarded"), + "unexpected error: {err}" + ); +} + #[test] async fn marker_recorded_at_runtime_is_visible_to_replay() { // record_discarded_completion feeds the same map as the upfront scan: a marker appended diff --git a/golem-worker-executor/src/durable_host/suspendable_wait.rs b/golem-worker-executor/src/durable_host/suspendable_wait.rs index 9f18a381a0..daf07e36f3 100644 --- a/golem-worker-executor/src/durable_host/suspendable_wait.rs +++ b/golem-worker-executor/src/durable_host/suspendable_wait.rs @@ -345,6 +345,10 @@ mod tests { unreachable!("oplog is unused by promise waits") } + fn enqueue_add(&self, _entry: OplogEntry) -> crate::services::oplog::OplogAddReceipt { + Box::pin(async { unreachable!("oplog is unused by promise waits") }) + } + async fn add_pair( &self, _start: OplogEntry, @@ -491,6 +495,10 @@ mod tests { unreachable!("oplog writes are unused by wakeup scheduling") } + fn enqueue_add(&self, _entry: OplogEntry) -> crate::services::oplog::OplogAddReceipt { + Box::pin(async { unreachable!("oplog writes are unused by wakeup scheduling") }) + } + async fn add_pair( &self, _start: OplogEntry, diff --git a/golem-worker-executor/src/durable_host/wasm_rpc/mod.rs b/golem-worker-executor/src/durable_host/wasm_rpc/mod.rs index 936bdbe201..dedc094ef6 100644 --- a/golem-worker-executor/src/durable_host/wasm_rpc/mod.rs +++ b/golem-worker-executor/src/durable_host/wasm_rpc/mod.rs @@ -1739,7 +1739,7 @@ impl HostFutureInvokeResultWithStore // The wire result returned below still crosses Wasmtime's lowering // and terminal-consumption boundary: hand the token to the terminal // observer instead of consuming it here. - delivery.deliver_at_accessor_terminal(accessor); + delivery.deliver_at_accessor_terminal(accessor).await?; Ok(wire) } Err(err) => { @@ -1772,7 +1772,7 @@ impl HostFutureInvokeResultWithStore let wire = accessor.with(|mut access| { invoke_and_await_response_to_wire(response.result, access.get()) }); - delivery.delivered(); + delivery.deliver_at_accessor_terminal(accessor).await?; wire } } diff --git a/golem-worker-executor/src/model/public_oplog/mod.rs b/golem-worker-executor/src/model/public_oplog/mod.rs index cf6c10cdff..83cf00f0d1 100644 --- a/golem-worker-executor/src/model/public_oplog/mod.rs +++ b/golem-worker-executor/src/model/public_oplog/mod.rs @@ -30,10 +30,10 @@ use golem_common::model::oplog::public_oplog_entry::{ BeginAtomicRegionParams, BeginRemoteTransactionParams, CancelPendingInvocationParams, CancelledParams, CardEventQueuedParams, CardExpiredParams, CardInstallFailedParams, CardInstalledParams, CardRevokedParams, CommittedRemoteTransactionParams, - CompletionDiscardedParams, CreateParams, CreateResourceParams, DeactivatePluginParams, - DropResourceParams, EndAtomicRegionParams, EndParams, ErrorParams, ExitedParams, - FailedUpdateParams, FilesystemStorageUsageUpdateParams, FinishSpanParams, GrowMemoryParams, - HostStreamFrameParams, InterruptedParams, JumpParams, LogParams, NoOpParams, + CompletionDeliveredParams, CompletionDiscardedParams, CreateParams, CreateResourceParams, + DeactivatePluginParams, DropResourceParams, EndAtomicRegionParams, EndParams, ErrorParams, + ExitedParams, FailedUpdateParams, FilesystemStorageUsageUpdateParams, FinishSpanParams, + GrowMemoryParams, HostStreamFrameParams, InterruptedParams, JumpParams, LogParams, NoOpParams, OplogProcessorCheckpointParams, PendingAgentInvocationParams, PendingUpdateParams, PreCommitRemoteTransactionParams, PreRollbackRemoteTransactionParams, RemoveRetryPolicyParams, RestartParams, RevertParams, RolledBackRemoteTransactionParams, SetRetryPolicyParams, @@ -418,6 +418,15 @@ impl PublicOplogEntryOps for PublicOplogEntry { start_index, }, )), + OplogEntry::CompletionDelivered { + timestamp, + start_index, + } => Ok(PublicOplogEntry::CompletionDelivered( + CompletionDeliveredParams { + timestamp, + start_index, + }, + )), OplogEntry::AgentInvocationStarted { timestamp, idempotency_key, diff --git a/golem-worker-executor/src/model/public_oplog/wit.rs b/golem-worker-executor/src/model/public_oplog/wit.rs index b2827b9640..0b761568b2 100644 --- a/golem-worker-executor/src/model/public_oplog/wit.rs +++ b/golem-worker-executor/src/model/public_oplog/wit.rs @@ -21,17 +21,17 @@ use golem_common::model::oplog::public_oplog_entry::{ BeginAtomicRegionParams, BeginRemoteTransactionParams, CancelPendingInvocationParams, CancelledParams, CardEventQueuedParams, CardExpiredParams, CardInstallFailedParams, CardInstalledParams, CardRevokedParams, CommittedRemoteTransactionParams, - CompletionDiscardedParams, CreateParams, CreateResourceParams, DeactivatePluginParams, - DropResourceParams, EndAtomicRegionParams, EndParams, ErrorParams, ExitedParams, - FailedUpdateParams, FilesystemStorageUsageUpdateParams, FinishSpanParams, GrowMemoryParams, - HostStreamFrameParams, InterruptedParams, JumpParams, LogParams, ManualUpdateParameters, - NoOpParams, OplogProcessorCheckpointParams, PendingAgentInvocationParams, PendingUpdateParams, - PluginInstallationDescription, PreCommitRemoteTransactionParams, - PreRollbackRemoteTransactionParams, PublicAgentInvocation, PublicAgentInvocationResult, - PublicAttributeValue, PublicDurableFunctionType, PublicSpanData, RemoveRetryPolicyParams, - RestartParams, RevertParams, RolledBackRemoteTransactionParams, SetRetryPolicyParams, - SetSpanAttributeParams, SnapshotParams, StartParams, StartSpanParams, StringAttributeValue, - SuccessfulUpdateParams, SuspendParams, WriteRemoteBatchedParameters, + CompletionDeliveredParams, CompletionDiscardedParams, CreateParams, CreateResourceParams, + DeactivatePluginParams, DropResourceParams, EndAtomicRegionParams, EndParams, ErrorParams, + ExitedParams, FailedUpdateParams, FilesystemStorageUsageUpdateParams, FinishSpanParams, + GrowMemoryParams, HostStreamFrameParams, InterruptedParams, JumpParams, LogParams, + ManualUpdateParameters, NoOpParams, OplogProcessorCheckpointParams, + PendingAgentInvocationParams, PendingUpdateParams, PluginInstallationDescription, + PreCommitRemoteTransactionParams, PreRollbackRemoteTransactionParams, PublicAgentInvocation, + PublicAgentInvocationResult, PublicAttributeValue, PublicDurableFunctionType, PublicSpanData, + RemoveRetryPolicyParams, RestartParams, RevertParams, RolledBackRemoteTransactionParams, + SetRetryPolicyParams, SetSpanAttributeParams, SnapshotParams, StartParams, StartSpanParams, + StringAttributeValue, SuccessfulUpdateParams, SuspendParams, WriteRemoteBatchedParameters, WriteRemoteTransactionParameters, }; use golem_common::model::oplog::{ @@ -280,6 +280,13 @@ impl TryFrom for oplog::PublicOplogEntry { timestamp: timestamp.into(), start_index: start_index.into(), }), + PublicOplogEntry::CompletionDelivered(CompletionDeliveredParams { + timestamp, + start_index, + }) => Self::CompletionDelivered(oplog::CompletionDeliveredParameters { + timestamp: timestamp.into(), + start_index: start_index.into(), + }), PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParams { timestamp, invocation, @@ -1116,6 +1123,10 @@ impl TryFrom for golem_common::model::oplog::OplogEntry { timestamp: timestamp_from_datetime(params.timestamp), start_index: golem_common::base_model::OplogIndex::from_u64(params.start_index), }), + oplog::OplogEntry::CompletionDelivered(params) => Ok(Self::CompletionDelivered { + timestamp: timestamp_from_datetime(params.timestamp), + start_index: golem_common::base_model::OplogIndex::from_u64(params.start_index), + }), oplog::OplogEntry::AgentInvocationStarted(params) => { let trace_id = golem_common::model::invocation_context::TraceId::from_string( ¶ms.trace_id, @@ -1848,6 +1859,15 @@ impl TryFrom for oplog::OplogEntry { start_index: start_index.into(), }, )), + M::CompletionDelivered { + timestamp, + start_index, + } => Ok(Self::CompletionDelivered( + oplog::RawCompletionDeliveredParameters { + timestamp: timestamp.into(), + start_index: start_index.into(), + }, + )), M::AgentInvocationStarted { timestamp, idempotency_key, diff --git a/golem-worker-executor/src/services/oplog/ephemeral.rs b/golem-worker-executor/src/services/oplog/ephemeral.rs index 0ade02e3f2..8056de2009 100644 --- a/golem-worker-executor/src/services/oplog/ephemeral.rs +++ b/golem-worker-executor/src/services/oplog/ephemeral.rs @@ -18,7 +18,8 @@ use crate::services::oplog::multilayer::{ TransferFiber, WrappedOplogArchive, }; use crate::services::oplog::{ - CommitLevel, Oplog, OplogService, OrderedOplogStart, PendingUpload, downcast_oplog, + CommitLevel, Oplog, OplogAddReceipt, OplogService, OrderedOplogStart, PendingUpload, + downcast_oplog, }; use async_trait::async_trait; use golem_common::model::OwnedAgentId; @@ -513,9 +514,23 @@ impl Debug for EphemeralOplog { #[async_trait] impl Oplog for EphemeralOplog { - async fn add(&self, entry: OplogEntry) -> OplogIndex { + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { record_oplog_call("add"); - self.run_job(|done| EphemeralJob::Add { entry, done }).await + let (done, done_rx) = tokio::sync::oneshot::channel(); + if self.jobs.send(EphemeralJob::Add { entry, done }).is_err() { + panic!( + "Ephemeral oplog actor for {:?} terminated unexpectedly", + self.owned_agent_id + ); + } + let owned_agent_id = self.owned_agent_id.clone(); + Box::pin(async move { + done_rx.await.unwrap_or_else(|_| { + panic!( + "Ephemeral oplog actor for {owned_agent_id:?} dropped an add request without replying" + ) + }) + }) } async fn add_pair( diff --git a/golem-worker-executor/src/services/oplog/mod.rs b/golem-worker-executor/src/services/oplog/mod.rs index 67c087f19c..b274b65647 100644 --- a/golem-worker-executor/src/services/oplog/mod.rs +++ b/golem-worker-executor/src/services/oplog/mod.rs @@ -398,11 +398,27 @@ pub struct OrderedOplogStart { pub pending_upload: PendingUpload, } +/// A single oplog append that has already been synchronously enqueued in the oplog's ordering +/// domain. Creating this receipt reserves the entry's position; awaiting it returns the assigned +/// index after the append finishes. +pub type OplogAddReceipt = BoxFuture<'static, OplogIndex>; + /// An open oplog providing write access #[async_trait] pub trait Oplog: Any + Debug + Send + Sync { /// Adds a single entry to the oplog (possibly buffered), and returns its index - async fn add(&self, entry: OplogEntry) -> OplogIndex; + async fn add(&self, entry: OplogEntry) -> OplogIndex { + self.enqueue_add(entry).await + } + + /// Synchronously enqueues a single entry before returning its asynchronous completion receipt. + /// + /// This is used at synchronous guest-observation boundaries where deferring the enqueue until + /// an async task is polled would allow later guest operations to overtake the observed event. + /// Replayable implementations and wrapper layers must reserve the entry in the same ordering + /// domain as [`Self::add`] before this method returns; they must not implement it by merely + /// boxing an unpolled call to `add`. + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt; /// A variant of add that can inject failures in tests. TO BE REMOVED async fn fallible_add(&self, entry: OplogEntry) -> Result<(), String> { diff --git a/golem-worker-executor/src/services/oplog/multilayer.rs b/golem-worker-executor/src/services/oplog/multilayer.rs index 6883a8b4f3..bf5456fdc2 100644 --- a/golem-worker-executor/src/services/oplog/multilayer.rs +++ b/golem-worker-executor/src/services/oplog/multilayer.rs @@ -22,8 +22,8 @@ use crate::services::oplog::multilayer::BackgroundTransferMessage::{ TransferFromLower, TransferFromPrimary, }; use crate::services::oplog::{ - CommitLevel, OpenOplogs, Oplog, OplogConstructor, OplogService, OrderedOplogStart, - downcast_oplog, scan_modes, + CommitLevel, OpenOplogs, Oplog, OplogAddReceipt, OplogConstructor, OplogService, + OrderedOplogStart, downcast_oplog, scan_modes, }; use async_trait::async_trait; use golem_common::model::account::AccountId; @@ -1134,10 +1134,14 @@ impl Debug for MultiLayerOplog { #[async_trait] impl Oplog for MultiLayerOplog { - async fn add(&self, entry: OplogEntry) -> OplogIndex { - let result = self.primary.add(entry).await; - self.last_oplog_index.set(result); - result + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + let pending = self.primary.enqueue_add(entry); + let last_oplog_index = self.last_oplog_index.clone(); + Box::pin(async move { + let result = pending.await; + last_oplog_index.set(result); + result + }) } async fn drop_prefix(&self, last_dropped_id: OplogIndex) -> u64 { diff --git a/golem-worker-executor/src/services/oplog/plugin.rs b/golem-worker-executor/src/services/oplog/plugin.rs index 54e4298914..d22ce4b57d 100644 --- a/golem-worker-executor/src/services/oplog/plugin.rs +++ b/golem-worker-executor/src/services/oplog/plugin.rs @@ -16,7 +16,8 @@ use crate::model::ExecutionStatus; use crate::model::event::InternalWorkerEvent; use crate::services::component::ComponentService; use crate::services::oplog::{ - CommitLevel, OpenOplogs, Oplog, OplogConstructor, OplogService, OrderedOplogStart, + CommitLevel, OpenOplogs, Oplog, OplogAddReceipt, OplogConstructor, OplogService, + OrderedOplogStart, }; use crate::services::shard::ShardService; use crate::services::worker_activator::WorkerActivator; @@ -1101,9 +1102,16 @@ impl Drop for ForwardingOplog { #[async_trait] impl Oplog for ForwardingOplog { - async fn add(&self, entry: OplogEntry) -> OplogIndex { - self.run_job(|done| ForwardingJob::Add { entry, done }) - .await + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + let (done, done_rx) = tokio::sync::oneshot::channel(); + if self.jobs.send(ForwardingJob::Add { entry, done }).is_err() { + panic!("Forwarding oplog actor terminated unexpectedly"); + } + Box::pin(async move { + done_rx.await.unwrap_or_else(|_| { + panic!("Forwarding oplog actor dropped an add request without replying") + }) + }) } async fn drop_prefix(&self, last_dropped_id: OplogIndex) -> u64 { @@ -2249,18 +2257,18 @@ mod tests { /// leaf oplogs, so the forwarding actor's `last_committed_idx` tracking is exercised. #[allow(dead_code)] struct InMemoryOplog { - entries: async_lock::Mutex>, - current_idx: async_lock::Mutex, - committed_idx: async_lock::Mutex, + entries: std::sync::Mutex>, + current_idx: std::sync::Mutex, + committed_idx: std::sync::Mutex, } #[allow(dead_code)] impl InMemoryOplog { fn new() -> Self { Self { - entries: async_lock::Mutex::new(Vec::new()), - current_idx: async_lock::Mutex::new(OplogIndex::NONE), - committed_idx: async_lock::Mutex::new(OplogIndex::NONE), + entries: std::sync::Mutex::new(Vec::new()), + current_idx: std::sync::Mutex::new(OplogIndex::NONE), + committed_idx: std::sync::Mutex::new(OplogIndex::NONE), } } } @@ -2273,12 +2281,13 @@ mod tests { #[async_trait] impl Oplog for InMemoryOplog { - async fn add(&self, entry: OplogEntry) -> OplogIndex { - let mut entries = self.entries.lock().await; - let mut idx = self.current_idx.lock().await; + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + let mut entries = self.entries.lock().unwrap(); + let mut idx = self.current_idx.lock().unwrap(); *idx = idx.next(); entries.push(entry); - *idx + let result = *idx; + Box::pin(async move { result }) } async fn add_pair( @@ -2286,8 +2295,8 @@ mod tests { start: OplogEntry, make_second: Box OplogEntry + Send>, ) -> (OplogIndex, OplogIndex) { - let mut entries = self.entries.lock().await; - let mut idx = self.current_idx.lock().await; + let mut entries = self.entries.lock().unwrap(); + let mut idx = self.current_idx.lock().unwrap(); *idx = idx.next(); let first_idx = *idx; entries.push(start); @@ -2316,9 +2325,9 @@ mod tests { } async fn commit(&self, _level: CommitLevel) -> BTreeMap { - let entries = self.entries.lock().await; - let current = *self.current_idx.lock().await; - let mut committed = self.committed_idx.lock().await; + let entries = self.entries.lock().unwrap(); + let current = *self.current_idx.lock().unwrap(); + let mut committed = self.committed_idx.lock().unwrap(); let mut result = BTreeMap::new(); let mut idx = *committed; while idx < current { @@ -2330,7 +2339,7 @@ mod tests { } async fn current_oplog_index(&self) -> OplogIndex { - *self.current_idx.lock().await + *self.current_idx.lock().unwrap() } async fn last_added_non_hint_entry(&self) -> Option { @@ -2342,7 +2351,7 @@ mod tests { } async fn read(&self, oplog_index: OplogIndex) -> OplogEntry { - let entries = self.entries.lock().await; + let entries = self.entries.lock().unwrap(); let idx: u64 = oplog_index.into(); entries[(idx - 1) as usize].clone() } @@ -2352,7 +2361,7 @@ mod tests { oplog_index: OplogIndex, n: u64, ) -> BTreeMap { - let entries = self.entries.lock().await; + let entries = self.entries.lock().unwrap(); let start: u64 = oplog_index.into(); let mut result = BTreeMap::new(); for i in start..(start + n) { @@ -2364,7 +2373,7 @@ mod tests { } async fn length(&self) -> u64 { - self.entries.lock().await.len() as u64 + self.entries.lock().unwrap().len() as u64 } async fn upload_raw_payload(&self, _data: Vec) -> Result { @@ -2631,6 +2640,41 @@ mod tests { // Reserved-start through the forwarding actor // -------------------------------------------------------------------------- + #[test] + async fn synchronously_enqueued_add_keeps_position_before_later_async_add() { + let grant_id = EnvironmentPluginGrantId::new(); + let (metadata, status_lock) = test_worker_metadata(HashSet::new()); + let recording_plugin = Arc::new(RecordingOplogProcessorPlugin::new()); + let components: Arc = Arc::new( + FakeComponentService::with_one_oplog_processor_plugin(grant_id), + ); + let inner: Arc = Arc::new(InMemoryOplog::new()); + let oplog = ForwardingOplog::new( + inner, + recording_plugin, + components, + metadata, + status_lock, + OplogIndex::NONE, + Box::new(|| {}), + usize::MAX, + Duration::from_secs(3600), + ) + .await; + + let first = oplog.enqueue_add(OplogEntry::NoOp { + timestamp: Timestamp::now_utc(), + }); + let second = oplog + .add(OplogEntry::NoOp { + timestamp: Timestamp::now_utc(), + }) + .await; + + assert_eq!(first.await, OplogIndex::INITIAL); + assert_eq!(second, OplogIndex::INITIAL.next()); + } + /// Reserved starts pass through the forwarding actor in initiation order: the indices the /// wrapper returns are the ones the inner (leaf) oplog assigned, the mirrored buffer stays in /// lockstep, and a flush forwards the `Start` entries to the plugin as regular oplog entries. diff --git a/golem-worker-executor/src/services/oplog/primary.rs b/golem-worker-executor/src/services/oplog/primary.rs index 6c0c58465f..8cee2eb086 100644 --- a/golem-worker-executor/src/services/oplog/primary.rs +++ b/golem-worker-executor/src/services/oplog/primary.rs @@ -19,8 +19,8 @@ use crate::metrics::storage::{ }; use crate::model::ExecutionStatus; use crate::services::oplog::{ - CommitLevel, OpenOplogs, Oplog, OplogConstructor, OplogService, OrderedOplogStart, - PendingUpload, ReservedPayload, cursor_value, next_scan_cursor, scan_modes, + CommitLevel, OpenOplogs, Oplog, OplogAddReceipt, OplogConstructor, OplogService, + OrderedOplogStart, PendingUpload, ReservedPayload, cursor_value, next_scan_cursor, scan_modes, }; use crate::storage::indexed::{ IndexedStorage, IndexedStorageError, IndexedStorageLabelledApi, IndexedStorageMetaNamespace, @@ -1337,8 +1337,17 @@ impl Debug for PrimaryOplog { #[async_trait] impl Oplog for PrimaryOplog { - async fn add(&self, entry: OplogEntry) -> OplogIndex { - self.run_job(|done| OplogJob::Add { entry, done }).await + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + let (done, done_rx) = tokio::sync::oneshot::channel(); + if self.jobs.send(OplogJob::Add { entry, done }).is_err() { + panic!("Oplog actor for {} terminated unexpectedly", self.key); + } + let key = self.key.clone(); + Box::pin(async move { + done_rx.await.unwrap_or_else(|_| { + panic!("Oplog actor for {key} dropped an add request without replying") + }) + }) } async fn add_pair( diff --git a/golem-worker-executor/src/services/oplog/rate_limited.rs b/golem-worker-executor/src/services/oplog/rate_limited.rs index 000031ecb4..4829d62e82 100644 --- a/golem-worker-executor/src/services/oplog/rate_limited.rs +++ b/golem-worker-executor/src/services/oplog/rate_limited.rs @@ -14,7 +14,9 @@ use crate::metrics::oplog::record_oplog_rate_limited; use crate::model::ExecutionStatus; -use crate::services::oplog::{CommitLevel, Oplog, OplogService, OrderedOplogStart}; +use crate::services::oplog::{ + CommitLevel, Oplog, OplogAddReceipt, OplogService, OrderedOplogStart, +}; use crate::services::resource_limits::{AtomicResourceEntry, ResourceLimits}; use arc_swap::ArcSwap; use async_trait::async_trait; @@ -81,7 +83,7 @@ pub struct RateLimitedOplog { inner: Arc, resource_entry: Arc, /// Current rate + governor, swapped atomically when the rate changes. - state: ArcSwap, + state: Arc>, account_id: AccountId, environment_id: EnvironmentId, } @@ -97,7 +99,7 @@ impl RateLimitedOplog { Self { inner, resource_entry, - state: ArcSwap::from(Arc::new(RateLimiterState::new(initial_rate))), + state: Arc::new(ArcSwap::from(Arc::new(RateLimiterState::new(initial_rate)))), account_id, environment_id, } @@ -105,13 +107,15 @@ impl RateLimitedOplog { /// Waits for the rate limiter to grant a token, logging and recording a /// metric when back-pressure is actually applied. - async fn apply_back_pressure(&self, limiter: &DefaultDirectRateLimiter, rate: u64) { + async fn apply_back_pressure( + limiter: &DefaultDirectRateLimiter, + rate: u64, + account_id: &AccountId, + environment_id: &EnvironmentId, + ) { if limiter.check().is_err() { debug!("RateLimitedOplog: back-pressure applied (rate={rate} writes/sec)"); - record_oplog_rate_limited( - &self.account_id.to_string(), - &self.environment_id.to_string(), - ); + record_oplog_rate_limited(&account_id.to_string(), &environment_id.to_string()); } limiter.until_ready().await; } @@ -124,24 +128,39 @@ impl RateLimitedOplog { /// reordered relative to their initiation order, breaking replay determinism (see /// [`Oplog::add_start_with_reserved_raw_payload`]). The per-write throttling rate is unchanged /// by ordering it after the append. - async fn apply_rate_limit(&self) { - let rate = self.resource_entry.oplog_writes_per_second(); + async fn apply_rate_limit_for( + resource_entry: &AtomicResourceEntry, + state: &ArcSwap, + account_id: &AccountId, + environment_id: &EnvironmentId, + ) { + let rate = resource_entry.oplog_writes_per_second(); if rate > 0 && rate < AtomicResourceEntry::UNLIMITED_OPLOG_WRITES_PER_SECOND { - let current = self.state.load(); + let current = state.load(); if current.rate != rate { - let updated = self.state.rcu(|current| { + let updated = state.rcu(|current| { if current.rate == rate { Arc::clone(current) } else { Arc::new(RateLimiterState::new(rate)) } }); - self.apply_back_pressure(&updated.limiter, rate).await; + Self::apply_back_pressure(&updated.limiter, rate, account_id, environment_id).await; } else { - self.apply_back_pressure(¤t.limiter, rate).await; + Self::apply_back_pressure(¤t.limiter, rate, account_id, environment_id).await; } } } + + async fn apply_rate_limit(&self) { + Self::apply_rate_limit_for( + &self.resource_entry, + &self.state, + &self.account_id, + &self.environment_id, + ) + .await; + } } impl Debug for RateLimitedOplog { @@ -154,11 +173,19 @@ impl Debug for RateLimitedOplog { #[async_trait] impl Oplog for RateLimitedOplog { - async fn add(&self, entry: OplogEntry) -> OplogIndex { - // Assign the index first, then throttle: see `apply_rate_limit`. - let idx = self.inner.add(entry).await; - self.apply_rate_limit().await; - idx + fn enqueue_add(&self, entry: OplogEntry) -> OplogAddReceipt { + // Reserve the inner oplog position synchronously, then apply back-pressure only while the + // returned receipt is awaited. This preserves ordering without bypassing write limiting. + let pending = self.inner.enqueue_add(entry); + let resource_entry = self.resource_entry.clone(); + let state = self.state.clone(); + let account_id = self.account_id; + let environment_id = self.environment_id; + Box::pin(async move { + let idx = pending.await; + Self::apply_rate_limit_for(&resource_entry, &state, &account_id, &environment_id).await; + idx + }) } async fn drop_prefix(&self, last_dropped_id: OplogIndex) -> u64 { diff --git a/golem-worker-executor/src/worker/cut_point.rs b/golem-worker-executor/src/worker/cut_point.rs index aa4d64e4a1..57cb615010 100644 --- a/golem-worker-executor/src/worker/cut_point.rs +++ b/golem-worker-executor/src/worker/cut_point.rs @@ -101,14 +101,15 @@ where } let entry = read(idx).await; let spanning = match &entry { - // `CompletionDiscarded` is a hint, not a second terminal, but it carries the delivery - // status of its call's `End`: a cut between the `End` and the marker would leave a - // prefix whose recorded guest behavior reflects the discarded completion while replay - // (with the marker cut off) would deliver the response, so such a cut is rejected the - // same way as one splitting a `Start` from its terminal. + // Completion markers are hints, not second terminals, but they carry the delivery + // status and timing of their call's `End`. A cut between the `End` and its marker + // would leave a completed call that looks markerless, making replay tail-gate a + // delivery the recorded run actually consumed at the marker's position, so reject + // it the same way as one splitting a `Start` from its terminal. OplogEntry::End { start_index, .. } | OplogEntry::Cancelled { start_index, .. } - | OplogEntry::CompletionDiscarded { start_index, .. } => Some(( + | OplogEntry::CompletionDiscarded { start_index, .. } + | OplogEntry::CompletionDelivered { start_index, .. } => Some(( *start_index, SpanningConstruct::DurableCall { start_index: *start_index, @@ -262,6 +263,21 @@ mod tests { ); } + #[test] + async fn completion_delivered_after_cut_referencing_surviving_start_is_rejected() { + let entries = HashMap::from([ + (3, OplogEntry::end(idx(2), None, false)), + (5, OplogEntry::completion_delivered(idx(2))), + ]); + assert_eq!( + scan(&entries, 4, 6, &deleted(vec![])).await, + Some(SpanningConstruct::DurableCall { + start_index: idx(2), + terminal_index: idx(5), + }) + ); + } + #[test] async fn completion_discarded_with_start_in_deleted_region_is_ignored() { // A marker after the cut whose referenced Start lies in a deleted region is an orphan of diff --git a/golem-worker-executor/src/worker/status.rs b/golem-worker-executor/src/worker/status.rs index e184ddd411..a0e4a9ec51 100644 --- a/golem-worker-executor/src/worker/status.rs +++ b/golem-worker-executor/src/worker/status.rs @@ -440,7 +440,7 @@ fn calculate_latest_worker_status( OplogEntry::Cancelled { .. } => { current_status = AgentStatus::Running; } - OplogEntry::CompletionDiscarded { .. } => {} + OplogEntry::CompletionDiscarded { .. } | OplogEntry::CompletionDelivered { .. } => {} OplogEntry::AgentInvocationStarted { .. } => { current_status = AgentStatus::Running; current_retry_state.clear(); diff --git a/golem-worker-executor/tests/concurrent_delivery_order.rs b/golem-worker-executor/tests/concurrent_delivery_order.rs index b0a9f5a1f5..f6e9c85f82 100644 --- a/golem-worker-executor/tests/concurrent_delivery_order.rs +++ b/golem-worker-executor/tests/concurrent_delivery_order.rs @@ -14,15 +14,18 @@ //! Seam 3 runtime test for concurrent durability. //! -//! Durable replay of concurrently-completing host calls requires that the -//! host->guest event *delivery* order equals the order the host recorded the -//! completions (the oplog `End` order). The Golem Wasmtime fork pins the -//! component-model-async ready queue to FIFO/insertion order for exactly this -//! reason (`WaitableSet.ready` is a `VecDeque` drained front-first); before that -//! change the ready set was a `BTreeSet` ordered by table-slot -//! identity (`TableId` rep), so when several host calls completed before the -//! guest drained them they were delivered by allocation order instead of -//! completion order. +//! When several host calls become ready before the guest drains them, their +//! host->guest events must retain that ready order. The Golem Wasmtime fork pins +//! the component-model-async ready queue to FIFO/insertion order for this reason +//! (`WaitableSet.ready` is a `VecDeque` drained front-first); before that change +//! the ready set was a `BTreeSet` ordered by table-slot identity +//! (`TableId` rep), so events were delivered by allocation order instead. +//! +//! Host completion and guest delivery are still distinct durability boundaries: +//! unrelated guest work may run between a call's oplog `End` and its callback. +//! Durable replay records that callback boundary separately. This test isolates +//! the runtime ready-queue ordering only; it does not equate `End` order with +//! delivery order in the general case. //! //! Unlike the `replay_state` fuzz tests (Seam 1), which operate on fabricated //! oplogs, this test exercises the *actual* runtime: a bespoke minimal diff --git a/openapi/golem-service.yaml b/openapi/golem-service.yaml index ef34a23d51..d5220bd209 100644 --- a/openapi/golem-service.yaml +++ b/openapi/golem-service.yaml @@ -13629,6 +13629,7 @@ components: CardExpired: '#/components/schemas/PublicOplogEntry_r#CardExpiredParams' HostStreamFrame: '#/components/schemas/PublicOplogEntry_r#HostStreamFrameParams' CompletionDiscarded: '#/components/schemas/PublicOplogEntry_r#CompletionDiscardedParams' + CompletionDelivered: '#/components/schemas/PublicOplogEntry_r#CompletionDeliveredParams' type: object oneOf: - $ref: '#/components/schemas/PublicOplogEntry_r#CreateParams' @@ -13678,6 +13679,7 @@ components: - $ref: '#/components/schemas/PublicOplogEntry_r#CardExpiredParams' - $ref: '#/components/schemas/PublicOplogEntry_r#HostStreamFrameParams' - $ref: '#/components/schemas/PublicOplogEntry_r#CompletionDiscardedParams' + - $ref: '#/components/schemas/PublicOplogEntry_r#CompletionDeliveredParams' PublicOplogEntryWithIndex: title: PublicOplogEntryWithIndex type: object @@ -13846,6 +13848,18 @@ components: required: - type - $ref: '#/components/schemas/r#CommittedRemoteTransactionParams' + PublicOplogEntry_r#CompletionDeliveredParams: + allOf: + - type: object + properties: + type: + example: CompletionDelivered + type: string + enum: + - CompletionDelivered + required: + - type + - $ref: '#/components/schemas/r#CompletionDeliveredParams' PublicOplogEntry_r#CompletionDiscardedParams: allOf: - type: object @@ -16539,6 +16553,19 @@ components: required: - timestamp - beginIndex + r#CompletionDeliveredParams: + title: r#CompletionDeliveredParams + type: object + properties: + timestamp: + type: string + format: date-time + startIndex: + type: integer + format: uint64 + required: + - timestamp + - startIndex r#CompletionDiscardedParams: title: r#CompletionDiscardedParams type: object diff --git a/openapi/golem-worker-service.yaml b/openapi/golem-worker-service.yaml index a99b1ad791..76103ab29d 100644 --- a/openapi/golem-worker-service.yaml +++ b/openapi/golem-worker-service.yaml @@ -4510,6 +4510,7 @@ components: - $ref: '#/components/schemas/PublicOplogEntry_r#CardExpiredParams' - $ref: '#/components/schemas/PublicOplogEntry_r#HostStreamFrameParams' - $ref: '#/components/schemas/PublicOplogEntry_r#CompletionDiscardedParams' + - $ref: '#/components/schemas/PublicOplogEntry_r#CompletionDeliveredParams' discriminator: propertyName: type mapping: @@ -4560,6 +4561,7 @@ components: CardExpired: '#/components/schemas/PublicOplogEntry_r#CardExpiredParams' HostStreamFrame: '#/components/schemas/PublicOplogEntry_r#HostStreamFrameParams' CompletionDiscarded: '#/components/schemas/PublicOplogEntry_r#CompletionDiscardedParams' + CompletionDelivered: '#/components/schemas/PublicOplogEntry_r#CompletionDeliveredParams' PublicOplogEntryWithIndex: type: object title: PublicOplogEntryWithIndex @@ -4728,6 +4730,18 @@ components: - CommittedRemoteTransaction example: CommittedRemoteTransaction - $ref: '#/components/schemas/r#CommittedRemoteTransactionParams' + PublicOplogEntry_r#CompletionDeliveredParams: + allOf: + - type: object + required: + - type + properties: + type: + type: string + enum: + - CompletionDelivered + example: CompletionDelivered + - $ref: '#/components/schemas/r#CompletionDeliveredParams' PublicOplogEntry_r#CompletionDiscardedParams: allOf: - type: object @@ -7421,6 +7435,19 @@ components: beginIndex: type: integer format: uint64 + r#CompletionDeliveredParams: + type: object + title: r#CompletionDeliveredParams + required: + - timestamp + - startIndex + properties: + timestamp: + type: string + format: date-time + startIndex: + type: integer + format: uint64 r#CompletionDiscardedParams: type: object title: r#CompletionDiscardedParams diff --git a/sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt b/sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt index c40dae4317..130cdfcb27 100644 --- a/sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt +++ b/sdks/moonbit/golem_sdk/interface/golem/api/oplog/ffi.mbt @@ -1,145 +1,115 @@ // Generated by `wit-bindgen` 0.59.0. DO NOT EDIT! -///| fn wasmImportResourceDropGetOplog(resource : Int) = "golem:api/oplog@1.5.0" "[resource-drop]get-oplog" -///| fn wasmImportResourceDropSearchOplog(resource : Int) = "golem:api/oplog@1.5.0" "[resource-drop]search-oplog" -///| -fn wasmImportEnrichOplogEntries( - p0 : Int64, - p1 : Int64, - p2 : Int64, - p3 : Int64, - p4 : Int, - p5 : Int, - p6 : Int, - p7 : Int, - p8 : Int64, - p9 : Int, -) = "golem:api/oplog@1.5.0" "enrich-oplog-entries" +fn wasmImportEnrichOplogEntries(p0 : Int64, p1 : Int64, p2 : Int64, p3 : Int64, p4 : Int, p5 : Int, p6 : Int, p7 : Int, p8 : Int64, p9 : Int) = "golem:api/oplog@1.5.0" "enrich-oplog-entries" -///| -fn wasmImportConstructorGetOplog( - p0 : Int64, - p1 : Int64, - p2 : Int, - p3 : Int, - p4 : Int64, -) -> Int = "golem:api/oplog@1.5.0" "[constructor]get-oplog" +fn wasmImportConstructorGetOplog(p0 : Int64, p1 : Int64, p2 : Int, p3 : Int, p4 : Int64) -> Int = "golem:api/oplog@1.5.0" "[constructor]get-oplog" -///| -fn wasmImportMethodGetOplogGetNext(p0 : Int, p1 : Int) = "golem:api/oplog@1.5.0" "[method]get-oplog.get-next" +fn wasmImportMethodGetOplogGetNext(p0 : Int, p1 : Int) = "golem:api/oplog@1.5.0" "[method]get-oplog.get-next" -///| -fn wasmImportConstructorSearchOplog( - p0 : Int64, - p1 : Int64, - p2 : Int, - p3 : Int, - p4 : Int, - p5 : Int, -) -> Int = "golem:api/oplog@1.5.0" "[constructor]search-oplog" +fn wasmImportConstructorSearchOplog(p0 : Int64, p1 : Int64, p2 : Int, p3 : Int, p4 : Int, p5 : Int) -> Int = "golem:api/oplog@1.5.0" "[constructor]search-oplog" + +fn wasmImportMethodSearchOplogGetNext(p0 : Int, p1 : Int) = "golem:api/oplog@1.5.0" "[method]search-oplog.get-next" ///| -fn wasmImportMethodSearchOplogGetNext(p0 : Int, p1 : Int) = "golem:api/oplog@1.5.0" "[method]search-oplog.get-next" +#owned(bytes) +extern "wasm" fn mbt_ffi_bytes2ptr(bytes : FixedArray[Byte]) -> Int = +#|(func (param i32) (result i32) local.get 0) ///| -extern "wasm" fn mbt_ffi_store32(offset : Int, value : Int) = - #|(func (param i32) (param i32) local.get 0 local.get 1 i32.store) +extern "wasm" fn mbt_ffi_load8_u(offset : Int) -> Int = +#|(func (param i32) (result i32) local.get 0 i32.load8_u) ///| -extern "wasm" fn mbt_ffi_load64(offset : Int) -> Int64 = - #|(func (param i32) (result i64) local.get 0 i64.load) +extern "wasm" fn mbt_ffi_store64(offset : Int, value : Int64) = +#|(func (param i32) (param i64) local.get 0 local.get 1 i64.store) ///| -extern "wasm" fn mbt_ffi_loadf32(offset : Int) -> Float = - #|(func (param i32) (result f32) local.get 0 f32.load) +extern "wasm" fn mbt_ffi_store16(offset : Int, value : Int) = +#|(func (param i32) (param i32) local.get 0 local.get 1 i32.store16) ///| -extern "wasm" fn mbt_ffi_loadf64(offset : Int) -> Double = - #|(func (param i32) (result f64) local.get 0 f64.load) +extern "wasm" fn mbt_ffi_free(position : Int) = +#|(func (param i32) local.get 0 call $moonbit.decref) ///| -#owned(str) -extern "wasm" fn mbt_ffi_str2ptr(str : String) -> Int = - #|(func (param i32) (result i32) local.get 0) +extern "wasm" fn mbt_ffi_ptr2str(ptr : Int, len : Int) -> String = +#|(func (param i32) (param i32) (result i32) +#| local.get 0 +#| local.get 1 call $moonbit.init_array16 +#| local.get 0) ///| -extern "wasm" fn mbt_ffi_storef32(offset : Int, value : Float) = - #|(func (param i32) (param f32) local.get 0 local.get 1 f32.store) +extern "wasm" fn mbt_ffi_load32(offset : Int) -> Int = +#|(func (param i32) (result i32) local.get 0 i32.load) ///| -extern "wasm" fn mbt_ffi_ptr2bytes(ptr : Int, len : Int) -> FixedArray[Byte] = - #|(func (param i32) (param i32) (result i32) - #| local.get 0 - #| local.get 1 call $moonbit.init_array8 - #| local.get 0) +extern "wasm" fn mbt_ffi_storef32(offset : Int, value : Float) = +#|(func (param i32) (param f32) local.get 0 local.get 1 f32.store) ///| -extern "wasm" fn mbt_ffi_storef64(offset : Int, value : Double) = - #|(func (param i32) (param f64) local.get 0 local.get 1 f64.store) +extern "wasm" fn mbt_ffi_extend16(value : Int) -> Int = +#|(func (param i32) (result i32) local.get 0 i32.extend16_s) ///| -extern "wasm" fn mbt_ffi_store64(offset : Int, value : Int64) = - #|(func (param i32) (param i64) local.get 0 local.get 1 i64.store) +extern "wasm" fn mbt_ffi_malloc(size : Int) -> Int = +#|(func (param i32) (result i32) (local i32) +#| local.get 0 i32.const 4 i32.add call $moonbit.gc.malloc +#| local.tee 1 i32.const 0 call $moonbit.init_array8 +#| local.get 1) ///| -extern "wasm" fn mbt_ffi_store16(offset : Int, value : Int) = - #|(func (param i32) (param i32) local.get 0 local.get 1 i32.store16) +extern "wasm" fn mbt_ffi_storef64(offset : Int, value : Double) = +#|(func (param i32) (param f64) local.get 0 local.get 1 f64.store) ///| -extern "wasm" fn mbt_ffi_malloc(size : Int) -> Int = - #|(func (param i32) (result i32) (local i32) - #| local.get 0 i32.const 4 i32.add call $moonbit.gc.malloc - #| local.tee 1 i32.const 0 call $moonbit.init_array8 - #| local.get 1) +extern "wasm" fn mbt_ffi_load8(offset : Int) -> Int = +#|(func (param i32) (result i32) local.get 0 i32.load8_s) ///| -extern "wasm" fn mbt_ffi_load16(offset : Int) -> Int = - #|(func (param i32) (result i32) local.get 0 i32.load16_s) +#owned(str) +extern "wasm" fn mbt_ffi_str2ptr(str : String) -> Int = +#|(func (param i32) (result i32) local.get 0) ///| -extern "wasm" fn mbt_ffi_load8_u(offset : Int) -> Int = - #|(func (param i32) (result i32) local.get 0 i32.load8_u) +extern "wasm" fn mbt_ffi_extend8(value : Int) -> Int = +#|(func (param i32) (result i32) local.get 0 i32.extend8_s) ///| -extern "wasm" fn mbt_ffi_load16_u(offset : Int) -> Int = - #|(func (param i32) (result i32) local.get 0 i32.load16_u) +extern "wasm" fn mbt_ffi_load64(offset : Int) -> Int64 = +#|(func (param i32) (result i64) local.get 0 i64.load) ///| -extern "wasm" fn mbt_ffi_load32(offset : Int) -> Int = - #|(func (param i32) (result i32) local.get 0 i32.load) +extern "wasm" fn mbt_ffi_load16(offset : Int) -> Int = +#|(func (param i32) (result i32) local.get 0 i32.load16_s) ///| -extern "wasm" fn mbt_ffi_free(position : Int) = - #|(func (param i32) local.get 0 call $moonbit.decref) +extern "wasm" fn mbt_ffi_load16_u(offset : Int) -> Int = +#|(func (param i32) (result i32) local.get 0 i32.load16_u) ///| -extern "wasm" fn mbt_ffi_ptr2str(ptr : Int, len : Int) -> String = - #|(func (param i32) (param i32) (result i32) - #| local.get 0 - #| local.get 1 call $moonbit.init_array16 - #| local.get 0) +extern "wasm" fn mbt_ffi_loadf32(offset : Int) -> Float = +#|(func (param i32) (result f32) local.get 0 f32.load) ///| -extern "wasm" fn mbt_ffi_extend16(value : Int) -> Int = - #|(func (param i32) (result i32) local.get 0 i32.extend16_s) +extern "wasm" fn mbt_ffi_loadf64(offset : Int) -> Double = +#|(func (param i32) (result f64) local.get 0 f64.load) ///| -#owned(bytes) -extern "wasm" fn mbt_ffi_bytes2ptr(bytes : FixedArray[Byte]) -> Int = - #|(func (param i32) (result i32) local.get 0) +extern "wasm" fn mbt_ffi_store32(offset : Int, value : Int) = +#|(func (param i32) (param i32) local.get 0 local.get 1 i32.store) ///| -extern "wasm" fn mbt_ffi_load8(offset : Int) -> Int = - #|(func (param i32) (result i32) local.get 0 i32.load8_s) +extern "wasm" fn mbt_ffi_ptr2bytes(ptr : Int, len : Int) -> FixedArray[Byte] = +#|(func (param i32) (param i32) (result i32) +#| local.get 0 +#| local.get 1 call $moonbit.init_array8 +#| local.get 0) ///| extern "wasm" fn mbt_ffi_store8(offset : Int, value : Int) = - #|(func (param i32) (param i32) local.get 0 local.get 1 i32.store8) +#|(func (param i32) (param i32) local.get 0 local.get 1 i32.store8) -///| -extern "wasm" fn mbt_ffi_extend8(value : Int) -> Int = - #|(func (param i32) (result i32) local.get 0 i32.extend8_s) diff --git a/sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt b/sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt index 4133b31122..0c56b2a756 100644 --- a/sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt +++ b/sdks/moonbit/golem_sdk/interface/golem/api/oplog/top.mbt @@ -1,121 +1,82 @@ // Generated by `wit-bindgen` 0.59.0. DO NOT EDIT! - ///| /// Whether an agent is durable (persistent oplog) or ephemeral. /// This mirrors the agent-mode enum in golem:agent/common@1.5.0; it is duplicated here to avoid /// a circular WIT package dependency between golem:api and golem:agent. pub(all) enum AgentMode { - DURABLE - EPHEMERAL + DURABLE; EPHEMERAL } derive(Show, Eq) -///| pub fn AgentMode::ordinal(self : AgentMode) -> Int { - match self { - DURABLE => 0 - EPHEMERAL => 1 - } + match self { + DURABLE => 0 + EPHEMERAL => 1 + } } -///| pub fn AgentMode::from(self : Int) -> AgentMode { - match self { - 0 => DURABLE - 1 => EPHEMERAL - _ => panic() - } + match self { + 0 => DURABLE + 1 => EPHEMERAL + _ => panic() + } } - ///| pub(all) struct CountBoxState { - attempts : UInt - inner : Int + attempts : UInt; inner : Int } derive(Show, Eq) - ///| pub(all) struct AndThenState { - left : Int - right : Int - on_right : Bool + left : Int; right : Int; on_right : Bool } derive(Show, Eq) - ///| pub(all) struct PairState { - left : Int - right : Int + left : Int; right : Int } derive(Show, Eq) - ///| pub(all) enum StateNode { - Counter(UInt) - Terminal - Wrapper(Int) - CountBox(CountBoxState) - AndThen(AndThenState) - Pair(PairState) + Counter(UInt) + Terminal + Wrapper(Int) + CountBox(CountBoxState) + AndThen(AndThenState) + Pair(PairState) } derive(Show, Eq) - ///| /// Persistent state of a retry policy across retry attempts. /// Root is nodes[0]. Children referenced by state-node-index. pub(all) struct RetryPolicyState { - nodes : Array[StateNode] + nodes : Array[StateNode] } derive(Show, Eq) - ///| pub(all) struct EnvironmentPluginGrantId { - uuid : @types.Uuid + uuid : @types.Uuid } derive(Show, Eq) - ///| pub(all) enum WrappedFunctionType { - ReadLocal - WriteLocal - ReadRemote - WriteRemote - WriteRemoteBatched(UInt64?) - WriteRemoteTransaction(UInt64?) + ReadLocal + WriteLocal + ReadRemote + WriteRemote + WriteRemoteBatched(UInt64?) + WriteRemoteTransaction(UInt64?) } derive(Show, Eq) - ///| pub(all) struct PluginInstallationDescription { - environment_plugin_grant_id : EnvironmentPluginGrantId - plugin_priority : Int - plugin_name : String - plugin_version : String - parameters : Array[(String, String)] + environment_plugin_grant_id : EnvironmentPluginGrantId; plugin_priority : Int; plugin_name : String; plugin_version : String; parameters : Array[(String, String)] } derive(Show, Eq) - ///| pub(all) struct RawLocalAgentConfigEntry { - path : Array[String] - value : @types.SchemaValueTree + path : Array[String]; value : @types.SchemaValueTree } derive(Show, Eq) - ///| pub(all) struct LocalAgentConfigEntry { - path : Array[String] - value : @types.TypedSchemaValue + path : Array[String]; value : @types.TypedSchemaValue } derive(Show, Eq) - ///| pub(all) struct CreateParameters { - timestamp : @system-clock.Instant - agent_id : @types.AgentId - agent_mode : AgentMode - component_revision : UInt64 - env : Array[(String, String)] - created_by : @types.AccountId - environment_id : @host.EnvironmentId - parent : @types.AgentId? - component_size : UInt64 - initial_total_linear_memory_size : UInt64 - initial_active_plugins : Array[PluginInstallationDescription] - local_agent_config : Array[LocalAgentConfigEntry] - original_phantom_id : @types.Uuid? - instance_id : @types.Uuid + timestamp : @system-clock.Instant; agent_id : @types.AgentId; agent_mode : AgentMode; component_revision : UInt64; env : Array[(String, String)]; created_by : @types.AccountId; environment_id : @host.EnvironmentId; parent : @types.AgentId?; component_size : UInt64; initial_total_linear_memory_size : UInt64; initial_active_plugins : Array[PluginInstallationDescription]; local_agent_config : Array[LocalAgentConfigEntry]; original_phantom_id : @types.Uuid?; instance_id : @types.Uuid } derive(Show, Eq) - ///| /// Parameters of an enriched durable host-call `start` entry. /// @@ -125,84158 +86,68476 @@ pub(all) struct CreateParameters { /// tree, identified by `function-name`; there are no per-interface named WIT /// variants for the payload shapes. pub(all) struct StartParameters { - timestamp : @system-clock.Instant - parent_start_index : UInt64? - function_name : String - invocation_id : @types.Uuid? - observational_owner : UInt64? - request : @types.TypedSchemaValue? - durable_function_type : WrappedFunctionType + timestamp : @system-clock.Instant; parent_start_index : UInt64?; function_name : String; invocation_id : @types.Uuid?; observational_owner : UInt64?; request : @types.TypedSchemaValue?; durable_function_type : WrappedFunctionType } derive(Show, Eq) - ///| /// Parameters of an enriched durable host-call `end` entry. Like the /// `start` `request`, the recorded `response` payload surfaces as a generic /// `typed-schema-value` tree (no per-interface named WIT variants). pub(all) struct EndParameters { - timestamp : @system-clock.Instant - start_index : UInt64 - response : @types.TypedSchemaValue? - forced_commit : Bool + timestamp : @system-clock.Instant; start_index : UInt64; response : @types.TypedSchemaValue?; forced_commit : Bool } derive(Show, Eq) - ///| /// Parameters of an enriched durable host-call `cancelled` entry. Like the /// `start` `request`, the optional recorded `partial` result surfaces as a /// generic `typed-schema-value` tree (no per-interface named WIT variants). pub(all) struct CancelledParameters { - timestamp : @system-clock.Instant - start_index : UInt64 - partial : @types.TypedSchemaValue? + timestamp : @system-clock.Instant; start_index : UInt64; partial : @types.TypedSchemaValue? } derive(Show, Eq) - ///| /// Parameters of a `completion-discarded` entry: the durable host call started at /// `start-index` completed successfully (its `end` entry was persisted) but the response /// was never delivered to the agent, because the agent dropped the call's completion /// future after the `end` was already recorded. pub(all) struct CompletionDiscardedParameters { - timestamp : @system-clock.Instant - start_index : UInt64 + timestamp : @system-clock.Instant; start_index : UInt64 +} derive(Show, Eq) +///| +/// Parameters of a `completion-delivered` entry: the successful result of the durable host +/// call started at `start-index` was handed to the agent at this point in the recorded +/// execution. Replay may prepare the recorded host result earlier, but does not hand it to the +/// agent until this marker and prevents later oplog entries from advancing until that handoff. +pub(all) struct CompletionDeliveredParameters { + timestamp : @system-clock.Instant; start_index : UInt64 } derive(Show, Eq) - ///| pub(all) struct LocalSpanData { - span_id : String - start : @system-clock.Instant - parent : String? - linked_context : UInt64? - attributes : Array[@context.Attribute] - inherited : Bool + span_id : String; start : @system-clock.Instant; parent : String?; linked_context : UInt64?; attributes : Array[@context.Attribute]; inherited : Bool } derive(Show, Eq) - ///| pub(all) struct ExternalSpanData { - span_id : String + span_id : String } derive(Show, Eq) - ///| pub(all) enum SpanData { - LocalSpan(LocalSpanData) - ExternalSpan(ExternalSpanData) + LocalSpan(LocalSpanData) + ExternalSpan(ExternalSpanData) } derive(Show, Eq) - ///| pub(all) struct ErrorParameters { - timestamp : @system-clock.Instant - error : String - retry_from : UInt64 - inside_atomic_region : Bool - retry_policy_state : RetryPolicyState? + timestamp : @system-clock.Instant; error : String; retry_from : UInt64; inside_atomic_region : Bool; retry_policy_state : RetryPolicyState? } derive(Show, Eq) - ///| pub(all) struct OplogRegion { - start : UInt64 - end : UInt64 + start : UInt64; end : UInt64 } derive(Show, Eq) - ///| pub(all) struct JumpParameters { - timestamp : @system-clock.Instant - jump : OplogRegion + timestamp : @system-clock.Instant; jump : OplogRegion } derive(Show, Eq) - ///| /// Parameters for a set-retry-policy oplog entry. pub(all) struct SetRetryPolicyParameters { - timestamp : @system-clock.Instant - policy : @retry.NamedRetryPolicy + timestamp : @system-clock.Instant; policy : @retry.NamedRetryPolicy } derive(Show, Eq) - ///| /// Parameters for a remove-retry-policy oplog entry. pub(all) struct RemoveRetryPolicyParameters { - timestamp : @system-clock.Instant - name : String + timestamp : @system-clock.Instant; name : String } derive(Show, Eq) - ///| pub(all) struct QueuedCardEventInstall { - card_id : @types.CardId + card_id : @types.CardId } derive(Show, Eq) - ///| pub(all) struct QueuedCardEventRevoke { - card_id : @types.CardId + card_id : @types.CardId } derive(Show, Eq) - ///| pub(all) enum QueuedCardEvent { - Install(QueuedCardEventInstall) - Revoke(QueuedCardEventRevoke) + Install(QueuedCardEventInstall) + Revoke(QueuedCardEventRevoke) } derive(Show, Eq) - ///| /// Parameters for a card-event-queued oplog entry. pub(all) struct CardEventQueuedParameters { - timestamp : @system-clock.Instant - event : QueuedCardEvent + timestamp : @system-clock.Instant; event : QueuedCardEvent } derive(Show, Eq) - ///| /// Parameters for a card-installed oplog entry. pub(all) struct CardInstalledParameters { - timestamp : @system-clock.Instant - queued_event_index : UInt64? - card_id : @types.CardId + timestamp : @system-clock.Instant; queued_event_index : UInt64?; card_id : @types.CardId } derive(Show, Eq) - ///| /// Raw parameters for a card-installed oplog entry. pub(all) struct RawCardInstalledParameters { - timestamp : @system-clock.Instant - queued_event_index : UInt64? - card : FixedArray[Byte] + timestamp : @system-clock.Instant; queued_event_index : UInt64?; card : FixedArray[Byte] } derive(Show, Eq) - ///| pub(all) enum CardInstallFailure { - CARD_REVOKED - NOT_FOUND - RECIPIENT_MISMATCH - NOT_PERMITTED + CARD_REVOKED; NOT_FOUND; RECIPIENT_MISMATCH; NOT_PERMITTED } derive(Show, Eq) -///| pub fn CardInstallFailure::ordinal(self : CardInstallFailure) -> Int { - match self { - CARD_REVOKED => 0 - NOT_FOUND => 1 - RECIPIENT_MISMATCH => 2 - NOT_PERMITTED => 3 - } + match self { + CARD_REVOKED => 0 + NOT_FOUND => 1 + RECIPIENT_MISMATCH => 2 + NOT_PERMITTED => 3 + } } -///| pub fn CardInstallFailure::from(self : Int) -> CardInstallFailure { - match self { - 0 => CARD_REVOKED - 1 => NOT_FOUND - 2 => RECIPIENT_MISMATCH - 3 => NOT_PERMITTED - _ => panic() - } + match self { + 0 => CARD_REVOKED + 1 => NOT_FOUND + 2 => RECIPIENT_MISMATCH + 3 => NOT_PERMITTED + _ => panic() + } } - ///| /// Parameters for a card-install-failed oplog entry. pub(all) struct CardInstallFailedParameters { - timestamp : @system-clock.Instant - queued_event_index : UInt64 - card_id : @types.CardId - reason : CardInstallFailure + timestamp : @system-clock.Instant; queued_event_index : UInt64; card_id : @types.CardId; reason : CardInstallFailure } derive(Show, Eq) - ///| /// Parameters for a card-revoked oplog entry. pub(all) struct CardRevokedParameters { - timestamp : @system-clock.Instant - queued_event_index : UInt64 - card_id : @types.CardId + timestamp : @system-clock.Instant; queued_event_index : UInt64; card_id : @types.CardId } derive(Show, Eq) - ///| /// Parameters for a card-expired oplog entry. pub(all) struct CardExpiredParameters { - timestamp : @system-clock.Instant - card_id : @types.CardId + timestamp : @system-clock.Instant; card_id : @types.CardId } derive(Show, Eq) - ///| /// Identifies which host-owned stream a host-stream-frame oplog entry belongs to. /// The kind determines how the entry's payload is interpreted. pub(all) enum HostStreamKind { - P3_HTTP_REQUEST_BODY + P3_HTTP_REQUEST_BODY } derive(Show, Eq) -///| pub fn HostStreamKind::ordinal(self : HostStreamKind) -> Int { - match self { - P3_HTTP_REQUEST_BODY => 0 - } + match self { + P3_HTTP_REQUEST_BODY => 0 + } } -///| pub fn HostStreamKind::from(self : Int) -> HostStreamKind { - match self { - 0 => P3_HTTP_REQUEST_BODY - _ => panic() - } + match self { + 0 => P3_HTTP_REQUEST_BODY + _ => panic() + } } - ///| /// Parameters for a host-stream-frame oplog entry: a durably recorded frame of a /// host-owned stream (e.g. the outgoing request body of a P3 HTTP client send), /// attached to the durable host call identified by its start entry's index. pub(all) struct HostStreamFrameParameters { - timestamp : @system-clock.Instant - parent_start_index : UInt64 - kind : HostStreamKind - payload : @types.TypedSchemaValue + timestamp : @system-clock.Instant; parent_start_index : UInt64; kind : HostStreamKind; payload : @types.TypedSchemaValue } derive(Show, Eq) - ///| pub(all) struct EndAtomicRegionParameters { - timestamp : @system-clock.Instant - begin_index : UInt64 + timestamp : @system-clock.Instant; begin_index : UInt64 } derive(Show, Eq) - ///| pub(all) struct AgentInitializationParameters { - idempotency_key : String - constructor_parameters : @types.TypedSchemaValue - trace_id : String - trace_states : Array[String] - invocation_context : Array[Array[SpanData]] + idempotency_key : String; constructor_parameters : @types.TypedSchemaValue; trace_id : String; trace_states : Array[String]; invocation_context : Array[Array[SpanData]] } derive(Show, Eq) - ///| pub(all) struct AgentMethodInvocationParameters { - idempotency_key : String - method_name : String - function_input : @types.TypedSchemaValue - trace_id : String - trace_states : Array[String] - invocation_context : Array[Array[SpanData]] + idempotency_key : String; method_name : String; function_input : @types.TypedSchemaValue; trace_id : String; trace_states : Array[String]; invocation_context : Array[Array[SpanData]] } derive(Show, Eq) - ///| pub(all) struct ProcessOplogEntriesParameters { - idempotency_key : String + idempotency_key : String } derive(Show, Eq) - ///| pub(all) struct ManualUpdateParameters { - target_revision : UInt64 + target_revision : UInt64 } derive(Show, Eq) - ///| pub(all) struct AgentInvocationOutputParameters { - output : @types.TypedSchemaValue + output : @types.TypedSchemaValue } derive(Show, Eq) - ///| pub(all) struct FallibleResultParameters { - error : String? + error : String? } derive(Show, Eq) - ///| pub(all) enum UpdateDescription { - AutoUpdate - SnapshotBased(@host.Snapshot) + AutoUpdate + SnapshotBased(@host.Snapshot) } derive(Show, Eq) - ///| pub(all) struct PendingUpdateParameters { - timestamp : @system-clock.Instant - target_revision : UInt64 - description : UpdateDescription + timestamp : @system-clock.Instant; target_revision : UInt64; description : UpdateDescription } derive(Show, Eq) - ///| pub(all) struct SuccessfulUpdateParameters { - timestamp : @system-clock.Instant - target_revision : UInt64 - new_component_size : UInt64 - new_active_plugins : Array[PluginInstallationDescription] + timestamp : @system-clock.Instant; target_revision : UInt64; new_component_size : UInt64; new_active_plugins : Array[PluginInstallationDescription] } derive(Show, Eq) - ///| pub(all) struct FailedUpdateParameters { - timestamp : @system-clock.Instant - target_revision : UInt64 - details : String? + timestamp : @system-clock.Instant; target_revision : UInt64; details : String? } derive(Show, Eq) - ///| pub(all) struct GrowMemoryParameters { - timestamp : @system-clock.Instant - delta : UInt64 + timestamp : @system-clock.Instant; delta : UInt64 } derive(Show, Eq) - ///| pub(all) struct FilesystemStorageUsageUpdateParameters { - timestamp : @system-clock.Instant - delta : Int64 + timestamp : @system-clock.Instant; delta : Int64 } derive(Show, Eq) - ///| pub(all) struct CreateResourceParameters { - timestamp : @system-clock.Instant - id : UInt64 - name : String - owner : String + timestamp : @system-clock.Instant; id : UInt64; name : String; owner : String } derive(Show, Eq) - ///| pub(all) struct DropResourceParameters { - timestamp : @system-clock.Instant - id : UInt64 - name : String - owner : String + timestamp : @system-clock.Instant; id : UInt64; name : String; owner : String } derive(Show, Eq) - ///| pub(all) enum LogLevel { - STDOUT - STDERR - TRACE - DEBUG - INFO - WARN - ERROR - CRITICAL + STDOUT; STDERR; TRACE; DEBUG; INFO; WARN; ERROR; CRITICAL } derive(Show, Eq) -///| pub fn LogLevel::ordinal(self : LogLevel) -> Int { - match self { - STDOUT => 0 - STDERR => 1 - TRACE => 2 - DEBUG => 3 - INFO => 4 - WARN => 5 - ERROR => 6 - CRITICAL => 7 - } + match self { + STDOUT => 0 + STDERR => 1 + TRACE => 2 + DEBUG => 3 + INFO => 4 + WARN => 5 + ERROR => 6 + CRITICAL => 7 + } } -///| pub fn LogLevel::from(self : Int) -> LogLevel { - match self { - 0 => STDOUT - 1 => STDERR - 2 => TRACE - 3 => DEBUG - 4 => INFO - 5 => WARN - 6 => ERROR - 7 => CRITICAL - _ => panic() - } + match self { + 0 => STDOUT + 1 => STDERR + 2 => TRACE + 3 => DEBUG + 4 => INFO + 5 => WARN + 6 => ERROR + 7 => CRITICAL + _ => panic() + } } - ///| pub(all) struct LogParameters { - timestamp : @system-clock.Instant - level : LogLevel - context : String - message : String + timestamp : @system-clock.Instant; level : LogLevel; context : String; message : String } derive(Show, Eq) - ///| pub(all) struct ActivatePluginParameters { - timestamp : @system-clock.Instant - plugin : PluginInstallationDescription + timestamp : @system-clock.Instant; plugin : PluginInstallationDescription } derive(Show, Eq) - ///| pub(all) struct DeactivatePluginParameters { - timestamp : @system-clock.Instant - plugin : PluginInstallationDescription + timestamp : @system-clock.Instant; plugin : PluginInstallationDescription } derive(Show, Eq) - ///| pub(all) struct RevertParameters { - timestamp : @system-clock.Instant - dropped_region : OplogRegion + timestamp : @system-clock.Instant; dropped_region : OplogRegion } derive(Show, Eq) - ///| pub(all) struct CancelPendingInvocationParameters { - timestamp : @system-clock.Instant - idempotency_key : String + timestamp : @system-clock.Instant; idempotency_key : String } derive(Show, Eq) - ///| pub(all) struct StartSpanParameters { - timestamp : @system-clock.Instant - span_id : String - parent : String? - linked_context_id : String? - attributes : Array[@context.Attribute] + timestamp : @system-clock.Instant; span_id : String; parent : String?; linked_context_id : String?; attributes : Array[@context.Attribute] } derive(Show, Eq) - ///| pub(all) struct FinishSpanParameters { - timestamp : @system-clock.Instant - span_id : String + timestamp : @system-clock.Instant; span_id : String } derive(Show, Eq) - ///| pub(all) struct SetSpanAttributeParameters { - timestamp : @system-clock.Instant - span_id : String - key : String - value : @context.AttributeValue + timestamp : @system-clock.Instant; span_id : String; key : String; value : @context.AttributeValue } derive(Show, Eq) - ///| pub(all) struct BeginRemoteTransactionParameters { - timestamp : @system-clock.Instant - transaction_id : String + timestamp : @system-clock.Instant; transaction_id : String } derive(Show, Eq) - ///| pub(all) struct RemoteTransactionParameters { - timestamp : @system-clock.Instant - begin_index : UInt64 + timestamp : @system-clock.Instant; begin_index : UInt64 } derive(Show, Eq) - ///| pub(all) struct SnapshotData { - data : FixedArray[Byte] - mime_type : String + data : FixedArray[Byte]; mime_type : String } derive(Show, Eq) - ///| pub(all) struct LoadSnapshotParameters { - snapshot : SnapshotData + snapshot : SnapshotData } derive(Show, Eq) - ///| pub(all) enum AgentInvocation { - AgentInitialization(AgentInitializationParameters) - AgentMethodInvocation(AgentMethodInvocationParameters) - SaveSnapshot - LoadSnapshot(LoadSnapshotParameters) - ProcessOplogEntries(ProcessOplogEntriesParameters) - ManualUpdate(ManualUpdateParameters) + AgentInitialization(AgentInitializationParameters) + AgentMethodInvocation(AgentMethodInvocationParameters) + SaveSnapshot + LoadSnapshot(LoadSnapshotParameters) + ProcessOplogEntries(ProcessOplogEntriesParameters) + ManualUpdate(ManualUpdateParameters) } derive(Show, Eq) - ///| pub(all) struct AgentInvocationStartedParameters { - timestamp : @system-clock.Instant - invocation : AgentInvocation + timestamp : @system-clock.Instant; invocation : AgentInvocation } derive(Show, Eq) - ///| pub(all) struct SaveSnapshotResultParameters { - snapshot : SnapshotData + snapshot : SnapshotData } derive(Show, Eq) - ///| pub(all) enum AgentInvocationResult { - AgentInitialization(AgentInvocationOutputParameters) - AgentMethod(AgentInvocationOutputParameters) - ManualUpdate - LoadSnapshot(FallibleResultParameters) - SaveSnapshot(SaveSnapshotResultParameters) - ProcessOplogEntries(FallibleResultParameters) + AgentInitialization(AgentInvocationOutputParameters) + AgentMethod(AgentInvocationOutputParameters) + ManualUpdate + LoadSnapshot(FallibleResultParameters) + SaveSnapshot(SaveSnapshotResultParameters) + ProcessOplogEntries(FallibleResultParameters) } derive(Show, Eq) - ///| pub(all) struct AgentInvocationFinishedParameters { - timestamp : @system-clock.Instant - result : AgentInvocationResult - method_name : String? - consumed_fuel : Int64 - component_revision : UInt64 + timestamp : @system-clock.Instant; result : AgentInvocationResult; method_name : String?; consumed_fuel : Int64; component_revision : UInt64 } derive(Show, Eq) - ///| pub(all) struct PendingAgentInvocationParameters { - timestamp : @system-clock.Instant - invocation : AgentInvocation + timestamp : @system-clock.Instant; invocation : AgentInvocation } derive(Show, Eq) - ///| pub(all) struct SnapshotParameters { - timestamp : @system-clock.Instant - data : SnapshotData + timestamp : @system-clock.Instant; data : SnapshotData } derive(Show, Eq) - ///| pub(all) struct OplogProcessorCheckpointParameters { - timestamp : @system-clock.Instant - plugin : PluginInstallationDescription - target_agent_id : @types.AgentId - confirmed_up_to : UInt64 - sending_up_to : UInt64 - last_batch_start : UInt64 + timestamp : @system-clock.Instant; plugin : PluginInstallationDescription; target_agent_id : @types.AgentId; confirmed_up_to : UInt64; sending_up_to : UInt64; last_batch_start : UInt64 } derive(Show, Eq) - ///| pub(all) struct Timestamp { - timestamp : @system-clock.Instant + timestamp : @system-clock.Instant } derive(Show, Eq) - ///| pub(all) struct OplogExternalPayload { - payload_id : @types.Uuid - md5_hash : FixedArray[Byte] + payload_id : @types.Uuid; md5_hash : FixedArray[Byte] } derive(Show, Eq) - ///| /// Opaque oplog payload, which can either be serialized inline or stored externally pub(all) enum OplogPayload { - Inline(FixedArray[Byte]) - External(OplogExternalPayload) + Inline(FixedArray[Byte]) + External(OplogExternalPayload) } derive(Show, Eq) - ///| pub(all) struct AgentTerminatedByQuotaError { - environment_id : @host.EnvironmentId - resource_name : String + environment_id : @host.EnvironmentId; resource_name : String } derive(Show, Eq) - ///| pub(all) struct EphemeralSleepTooLong { - requested_nanos : UInt64 - max_nanos : UInt64 + requested_nanos : UInt64; max_nanos : UInt64 } derive(Show, Eq) - ///| pub(all) struct EphemeralFuelExhausted { - overdraft_limit : UInt64 + overdraft_limit : UInt64 } derive(Show, Eq) - ///| pub(all) struct EphemeralCannotSuspend { - reason : String + reason : String } derive(Show, Eq) - ///| pub(all) struct ReadOnlyViolation { - method_ : String - host_function : String + method_ : String; host_function : String } derive(Show, Eq) - ///| /// Describes the error that occurred in the agent pub(all) suberror WorkerError { - Unknown(String) - InvalidRequest(String) - StackOverflow - OutOfMemory - ExceededMemoryLimit - InternalError(String) - DeterministicTrap(String) - TransientError(String) - PermanentError(String) - ExceededTableLimit - ExceededHttpCallLimit - ExceededRpcCallLimit - NodeOutOfFilesystemStorage - AgentExceededFilesystemStorageLimit - AgentTerminatedByQuota(AgentTerminatedByQuotaError) - EphemeralSleepTooLong(EphemeralSleepTooLong) - EphemeralFuelExhausted(EphemeralFuelExhausted) - EphemeralCannotSuspend(EphemeralCannotSuspend) - ReadOnlyViolation(ReadOnlyViolation) + Unknown(String) + InvalidRequest(String) + StackOverflow + OutOfMemory + ExceededMemoryLimit + InternalError(String) + DeterministicTrap(String) + TransientError(String) + PermanentError(String) + ExceededTableLimit + ExceededHttpCallLimit + ExceededRpcCallLimit + NodeOutOfFilesystemStorage + AgentExceededFilesystemStorageLimit + AgentTerminatedByQuota(AgentTerminatedByQuotaError) + EphemeralSleepTooLong(EphemeralSleepTooLong) + EphemeralFuelExhausted(EphemeralFuelExhausted) + EphemeralCannotSuspend(EphemeralCannotSuspend) + ReadOnlyViolation(ReadOnlyViolation) } derive(Show, Eq) - ///| pub(all) struct RawCreateParameters { - timestamp : @system-clock.Instant - agent_id : @types.AgentId - agent_mode : AgentMode - component_revision : UInt64 - env : Array[(String, String)] - environment_id : @host.EnvironmentId - created_by : @types.AccountId - parent : @types.AgentId? - component_size : UInt64 - initial_total_linear_memory_size : UInt64 - initial_active_plugins : Array[EnvironmentPluginGrantId] - local_agent_config : Array[RawLocalAgentConfigEntry] - original_phantom_id : @types.Uuid? - instance_id : @types.Uuid + timestamp : @system-clock.Instant; agent_id : @types.AgentId; agent_mode : AgentMode; component_revision : UInt64; env : Array[(String, String)]; environment_id : @host.EnvironmentId; created_by : @types.AccountId; parent : @types.AgentId?; component_size : UInt64; initial_total_linear_memory_size : UInt64; initial_active_plugins : Array[EnvironmentPluginGrantId]; local_agent_config : Array[RawLocalAgentConfigEntry]; original_phantom_id : @types.Uuid?; instance_id : @types.Uuid } derive(Show, Eq) - ///| pub(all) struct RawStartParameters { - timestamp : @system-clock.Instant - parent_start_index : UInt64? - function_name : String - invocation_id : @types.Uuid? - observational_owner : UInt64? - request : OplogPayload? - durable_function_type : WrappedFunctionType + timestamp : @system-clock.Instant; parent_start_index : UInt64?; function_name : String; invocation_id : @types.Uuid?; observational_owner : UInt64?; request : OplogPayload?; durable_function_type : WrappedFunctionType } derive(Show, Eq) - ///| pub(all) struct RawEndParameters { - timestamp : @system-clock.Instant - start_index : UInt64 - response : OplogPayload? - forced_commit : Bool + timestamp : @system-clock.Instant; start_index : UInt64; response : OplogPayload?; forced_commit : Bool } derive(Show, Eq) - ///| pub(all) struct RawCancelledParameters { - timestamp : @system-clock.Instant - start_index : UInt64 - partial : OplogPayload? + timestamp : @system-clock.Instant; start_index : UInt64; partial : OplogPayload? } derive(Show, Eq) - ///| pub(all) struct RawCompletionDiscardedParameters { - timestamp : @system-clock.Instant - start_index : UInt64 + timestamp : @system-clock.Instant; start_index : UInt64 +} derive(Show, Eq) +///| +pub(all) struct RawCompletionDeliveredParameters { + timestamp : @system-clock.Instant; start_index : UInt64 } derive(Show, Eq) - ///| /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. pub(all) struct RawHostStreamFrameParameters { - timestamp : @system-clock.Instant - parent_start_index : UInt64 - kind : HostStreamKind - payload : OplogPayload + timestamp : @system-clock.Instant; parent_start_index : UInt64; kind : HostStreamKind; payload : OplogPayload } derive(Show, Eq) - ///| pub(all) struct RawAgentInvocationStartedParameters { - timestamp : @system-clock.Instant - idempotency_key : String - payload : OplogPayload - trace_id : String - trace_states : Array[String] - invocation_context : Array[SpanData] + timestamp : @system-clock.Instant; idempotency_key : String; payload : OplogPayload; trace_id : String; trace_states : Array[String]; invocation_context : Array[SpanData] } derive(Show, Eq) - ///| pub(all) struct RawAgentInvocationFinishedParameters { - timestamp : @system-clock.Instant - result : OplogPayload - method_name : String? - consumed_fuel : Int64 - component_revision : UInt64 + timestamp : @system-clock.Instant; result : OplogPayload; method_name : String?; consumed_fuel : Int64; component_revision : UInt64 } derive(Show, Eq) - ///| pub(all) struct RawErrorParameters { - timestamp : @system-clock.Instant - error : WorkerError - retry_from : UInt64 - inside_atomic_region : Bool - retry_policy_state : RetryPolicyState? + timestamp : @system-clock.Instant; error : WorkerError; retry_from : UInt64; inside_atomic_region : Bool; retry_policy_state : RetryPolicyState? } derive(Show, Eq) - ///| pub(all) struct RawPendingAgentInvocationParameters { - timestamp : @system-clock.Instant - idempotency_key : String - payload : OplogPayload - trace_id : String - trace_states : Array[String] - invocation_context : Array[SpanData] + timestamp : @system-clock.Instant; idempotency_key : String; payload : OplogPayload; trace_id : String; trace_states : Array[String]; invocation_context : Array[SpanData] } derive(Show, Eq) - ///| pub(all) struct RawSnapshotBasedUpdate { - target_revision : UInt64 - payload : OplogPayload - mime_type : String + target_revision : UInt64; payload : OplogPayload; mime_type : String } derive(Show, Eq) - ///| /// Raw update description used in oplog entries pub(all) enum RawUpdateDescription { - Automatic(UInt64) - SnapshotBased(RawSnapshotBasedUpdate) + Automatic(UInt64) + SnapshotBased(RawSnapshotBasedUpdate) } derive(Show, Eq) - ///| pub(all) struct RawPendingUpdateParameters { - timestamp : @system-clock.Instant - description : RawUpdateDescription + timestamp : @system-clock.Instant; description : RawUpdateDescription } derive(Show, Eq) - ///| pub(all) struct RawSuccessfulUpdateParameters { - timestamp : @system-clock.Instant - target_revision : UInt64 - new_component_size : UInt64 - new_active_plugins : Array[EnvironmentPluginGrantId] + timestamp : @system-clock.Instant; target_revision : UInt64; new_component_size : UInt64; new_active_plugins : Array[EnvironmentPluginGrantId] } derive(Show, Eq) - ///| pub(all) struct ResourceTypeId { - name : String - owner : String + name : String; owner : String } derive(Show, Eq) - ///| pub(all) struct RawCreateResourceParameters { - timestamp : @system-clock.Instant - id : UInt64 - resource_type_id : ResourceTypeId + timestamp : @system-clock.Instant; id : UInt64; resource_type_id : ResourceTypeId } derive(Show, Eq) - ///| pub(all) struct RawDropResourceParameters { - timestamp : @system-clock.Instant - id : UInt64 - resource_type_id : ResourceTypeId + timestamp : @system-clock.Instant; id : UInt64; resource_type_id : ResourceTypeId } derive(Show, Eq) - ///| pub(all) struct RawActivatePluginParameters { - timestamp : @system-clock.Instant - plugin_grant_id : EnvironmentPluginGrantId + timestamp : @system-clock.Instant; plugin_grant_id : EnvironmentPluginGrantId } derive(Show, Eq) - ///| pub(all) struct RawDeactivatePluginParameters { - timestamp : @system-clock.Instant - plugin_grant_id : EnvironmentPluginGrantId + timestamp : @system-clock.Instant; plugin_grant_id : EnvironmentPluginGrantId } derive(Show, Eq) - ///| pub(all) struct RawBeginRemoteTransactionParameters { - timestamp : @system-clock.Instant - transaction_id : String - original_begin_index : UInt64? + timestamp : @system-clock.Instant; transaction_id : String; original_begin_index : UInt64? } derive(Show, Eq) - ///| pub(all) struct RawSnapshotParameters { - timestamp : @system-clock.Instant - data : OplogPayload - mime_type : String + timestamp : @system-clock.Instant; data : OplogPayload; mime_type : String } derive(Show, Eq) - ///| pub(all) struct RawOplogProcessorCheckpointParameters { - timestamp : @system-clock.Instant - plugin_grant_id : EnvironmentPluginGrantId - target_agent_id : @types.AgentId - confirmed_up_to : UInt64 - sending_up_to : UInt64 - last_batch_start : UInt64 + timestamp : @system-clock.Instant; plugin_grant_id : EnvironmentPluginGrantId; target_agent_id : @types.AgentId; confirmed_up_to : UInt64; sending_up_to : UInt64; last_batch_start : UInt64 } derive(Show, Eq) - ///| pub(all) enum OplogEntry { - Create(RawCreateParameters) - Start(RawStartParameters) - End(RawEndParameters) - Cancelled(RawCancelledParameters) - AgentInvocationStarted(RawAgentInvocationStartedParameters) - AgentInvocationFinished(RawAgentInvocationFinishedParameters) - Suspend(Timestamp) - Error(RawErrorParameters) - NoOp(Timestamp) - Jump(JumpParameters) - Interrupted(Timestamp) - Exited(Timestamp) - BeginAtomicRegion(Timestamp) - EndAtomicRegion(EndAtomicRegionParameters) - PendingAgentInvocation(RawPendingAgentInvocationParameters) - PendingUpdate(RawPendingUpdateParameters) - SuccessfulUpdate(RawSuccessfulUpdateParameters) - FailedUpdate(FailedUpdateParameters) - GrowMemory(GrowMemoryParameters) - FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters) - CreateResource(RawCreateResourceParameters) - DropResource(RawDropResourceParameters) - Log(LogParameters) - Restart(Timestamp) - ActivatePlugin(RawActivatePluginParameters) - DeactivatePlugin(RawDeactivatePluginParameters) - Revert(RevertParameters) - CancelPendingInvocation(CancelPendingInvocationParameters) - StartSpan(StartSpanParameters) - FinishSpan(FinishSpanParameters) - SetSpanAttribute(SetSpanAttributeParameters) - BeginRemoteTransaction(RawBeginRemoteTransactionParameters) - PreCommitRemoteTransaction(RemoteTransactionParameters) - PreRollbackRemoteTransaction(RemoteTransactionParameters) - CommittedRemoteTransaction(RemoteTransactionParameters) - RolledBackRemoteTransaction(RemoteTransactionParameters) - Snapshot(RawSnapshotParameters) - OplogProcessorCheckpoint(RawOplogProcessorCheckpointParameters) - SetRetryPolicy(SetRetryPolicyParameters) - RemoveRetryPolicy(RemoveRetryPolicyParameters) - CardEventQueued(CardEventQueuedParameters) - CardInstalled(RawCardInstalledParameters) - CardInstallFailed(CardInstallFailedParameters) - CardRevoked(CardRevokedParameters) - CardExpired(CardExpiredParameters) - HostStreamFrame(RawHostStreamFrameParameters) - CompletionDiscarded(RawCompletionDiscardedParameters) + Create(RawCreateParameters) + Start(RawStartParameters) + End(RawEndParameters) + Cancelled(RawCancelledParameters) + AgentInvocationStarted(RawAgentInvocationStartedParameters) + AgentInvocationFinished(RawAgentInvocationFinishedParameters) + Suspend(Timestamp) + Error(RawErrorParameters) + NoOp(Timestamp) + Jump(JumpParameters) + Interrupted(Timestamp) + Exited(Timestamp) + BeginAtomicRegion(Timestamp) + EndAtomicRegion(EndAtomicRegionParameters) + PendingAgentInvocation(RawPendingAgentInvocationParameters) + PendingUpdate(RawPendingUpdateParameters) + SuccessfulUpdate(RawSuccessfulUpdateParameters) + FailedUpdate(FailedUpdateParameters) + GrowMemory(GrowMemoryParameters) + FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters) + CreateResource(RawCreateResourceParameters) + DropResource(RawDropResourceParameters) + Log(LogParameters) + Restart(Timestamp) + ActivatePlugin(RawActivatePluginParameters) + DeactivatePlugin(RawDeactivatePluginParameters) + Revert(RevertParameters) + CancelPendingInvocation(CancelPendingInvocationParameters) + StartSpan(StartSpanParameters) + FinishSpan(FinishSpanParameters) + SetSpanAttribute(SetSpanAttributeParameters) + BeginRemoteTransaction(RawBeginRemoteTransactionParameters) + PreCommitRemoteTransaction(RemoteTransactionParameters) + PreRollbackRemoteTransaction(RemoteTransactionParameters) + CommittedRemoteTransaction(RemoteTransactionParameters) + RolledBackRemoteTransaction(RemoteTransactionParameters) + Snapshot(RawSnapshotParameters) + OplogProcessorCheckpoint(RawOplogProcessorCheckpointParameters) + SetRetryPolicy(SetRetryPolicyParameters) + RemoveRetryPolicy(RemoveRetryPolicyParameters) + CardEventQueued(CardEventQueuedParameters) + CardInstalled(RawCardInstalledParameters) + CardInstallFailed(CardInstallFailedParameters) + CardRevoked(CardRevokedParameters) + CardExpired(CardExpiredParameters) + HostStreamFrame(RawHostStreamFrameParameters) + CompletionDiscarded(RawCompletionDiscardedParameters) + CompletionDelivered(RawCompletionDeliveredParameters) } derive(Show, Eq) - ///| pub(all) enum PublicOplogEntry { - Create(CreateParameters) - Start(StartParameters) - End(EndParameters) - Cancelled(CancelledParameters) - AgentInvocationStarted(AgentInvocationStartedParameters) - AgentInvocationFinished(AgentInvocationFinishedParameters) - Suspend(Timestamp) - Error(ErrorParameters) - NoOp(Timestamp) - Jump(JumpParameters) - Interrupted(Timestamp) - Exited(Timestamp) - BeginAtomicRegion(Timestamp) - EndAtomicRegion(EndAtomicRegionParameters) - PendingAgentInvocation(PendingAgentInvocationParameters) - PendingUpdate(PendingUpdateParameters) - SuccessfulUpdate(SuccessfulUpdateParameters) - FailedUpdate(FailedUpdateParameters) - GrowMemory(GrowMemoryParameters) - FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters) - CreateResource(CreateResourceParameters) - DropResource(DropResourceParameters) - Log(LogParameters) - Restart(Timestamp) - ActivatePlugin(ActivatePluginParameters) - DeactivatePlugin(DeactivatePluginParameters) - Revert(RevertParameters) - CancelPendingInvocation(CancelPendingInvocationParameters) - StartSpan(StartSpanParameters) - FinishSpan(FinishSpanParameters) - SetSpanAttribute(SetSpanAttributeParameters) - BeginRemoteTransaction(BeginRemoteTransactionParameters) - PreCommitRemoteTransaction(RemoteTransactionParameters) - PreRollbackRemoteTransaction(RemoteTransactionParameters) - CommittedRemoteTransaction(RemoteTransactionParameters) - RolledBackRemoteTransaction(RemoteTransactionParameters) - Snapshot(SnapshotParameters) - OplogProcessorCheckpoint(OplogProcessorCheckpointParameters) - SetRetryPolicy(SetRetryPolicyParameters) - RemoveRetryPolicy(RemoveRetryPolicyParameters) - CardEventQueued(CardEventQueuedParameters) - CardInstalled(CardInstalledParameters) - CardInstallFailed(CardInstallFailedParameters) - CardRevoked(CardRevokedParameters) - CardExpired(CardExpiredParameters) - HostStreamFrame(HostStreamFrameParameters) - CompletionDiscarded(CompletionDiscardedParameters) + Create(CreateParameters) + Start(StartParameters) + End(EndParameters) + Cancelled(CancelledParameters) + AgentInvocationStarted(AgentInvocationStartedParameters) + AgentInvocationFinished(AgentInvocationFinishedParameters) + Suspend(Timestamp) + Error(ErrorParameters) + NoOp(Timestamp) + Jump(JumpParameters) + Interrupted(Timestamp) + Exited(Timestamp) + BeginAtomicRegion(Timestamp) + EndAtomicRegion(EndAtomicRegionParameters) + PendingAgentInvocation(PendingAgentInvocationParameters) + PendingUpdate(PendingUpdateParameters) + SuccessfulUpdate(SuccessfulUpdateParameters) + FailedUpdate(FailedUpdateParameters) + GrowMemory(GrowMemoryParameters) + FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters) + CreateResource(CreateResourceParameters) + DropResource(DropResourceParameters) + Log(LogParameters) + Restart(Timestamp) + ActivatePlugin(ActivatePluginParameters) + DeactivatePlugin(DeactivatePluginParameters) + Revert(RevertParameters) + CancelPendingInvocation(CancelPendingInvocationParameters) + StartSpan(StartSpanParameters) + FinishSpan(FinishSpanParameters) + SetSpanAttribute(SetSpanAttributeParameters) + BeginRemoteTransaction(BeginRemoteTransactionParameters) + PreCommitRemoteTransaction(RemoteTransactionParameters) + PreRollbackRemoteTransaction(RemoteTransactionParameters) + CommittedRemoteTransaction(RemoteTransactionParameters) + RolledBackRemoteTransaction(RemoteTransactionParameters) + Snapshot(SnapshotParameters) + OplogProcessorCheckpoint(OplogProcessorCheckpointParameters) + SetRetryPolicy(SetRetryPolicyParameters) + RemoveRetryPolicy(RemoveRetryPolicyParameters) + CardEventQueued(CardEventQueuedParameters) + CardInstalled(CardInstalledParameters) + CardInstallFailed(CardInstallFailedParameters) + CardRevoked(CardRevokedParameters) + CardExpired(CardExpiredParameters) + HostStreamFrame(HostStreamFrameParameters) + CompletionDiscarded(CompletionDiscardedParameters) + CompletionDelivered(CompletionDeliveredParameters) } derive(Show, Eq) - ///| pub(all) struct GetOplog(Int) derive(Show, Eq) -///| /// Drops a resource handle. pub fn GetOplog::drop(self : GetOplog) -> Unit { - let GetOplog(resource) = self - wasmImportResourceDropGetOplog(resource) + let GetOplog(resource) = self + wasmImportResourceDropGetOplog(resource) } - ///| pub(all) struct SearchOplog(Int) derive(Show, Eq) -///| /// Drops a resource handle. pub fn SearchOplog::drop(self : SearchOplog) -> Unit { - let SearchOplog(resource) = self - wasmImportResourceDropSearchOplog(resource) + let SearchOplog(resource) = self + wasmImportResourceDropSearchOplog(resource) } - ///| /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads /// and augmenting entries with component metadata. -pub fn enrich_oplog_entries( - environment_id : @host.EnvironmentId, - agent_id : @types.AgentId, - entries : Array[(UInt64, OplogEntry)], - component_revision : UInt64, -) -> Result[Array[PublicOplogEntry], String] { - let cleanup_list : Array[Int] = [] - - let ptr = mbt_ffi_str2ptr(agent_id.agent_id) - - let address459 = mbt_ffi_malloc(entries.length() * 216) - for index460 = 0; index460 < entries.length(); index460 = index460 + 1 { - let iter_elem : (UInt64, OplogEntry) = entries[index460] - let iter_base = address459 + index460 * 216 - mbt_ffi_store64(iter_base + 0, iter_elem.0.reinterpret_as_int64()) - - match iter_elem.1 { - Create(payload) => { - mbt_ffi_store8(iter_base + 8, 0) - mbt_ffi_store64(iter_base + 16, payload.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload.agent_id.component_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload.agent_id.component_id.uuid.low_bits.reinterpret_as_int64(), - ) - - let ptr0 = mbt_ffi_str2ptr(payload.agent_id.agent_id) - mbt_ffi_store32(iter_base + 52, payload.agent_id.agent_id.length()) - mbt_ffi_store32(iter_base + 48, ptr0) - mbt_ffi_store8(iter_base + 56, payload.agent_mode.ordinal()) - mbt_ffi_store64( - iter_base + 64, - payload.component_revision.reinterpret_as_int64(), - ) - - let address = mbt_ffi_malloc(payload.env.length() * 16) - for index = 0; index < payload.env.length(); index = index + 1 { - let iter_elem : (String, String) = payload.env[index] - let iter_base = address + index * 16 - - let ptr1 = mbt_ffi_str2ptr(iter_elem.0) - mbt_ffi_store32(iter_base + 4, iter_elem.0.length()) - mbt_ffi_store32(iter_base + 0, ptr1) - - let ptr2 = mbt_ffi_str2ptr(iter_elem.1) - mbt_ffi_store32(iter_base + 12, iter_elem.1.length()) - mbt_ffi_store32(iter_base + 8, ptr2) - cleanup_list.push(ptr1) - cleanup_list.push(ptr2) - } - mbt_ffi_store32(iter_base + 76, payload.env.length()) - mbt_ffi_store32(iter_base + 72, address) - mbt_ffi_store64( - iter_base + 80, - payload.environment_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 88, - payload.environment_id.uuid.low_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 96, - payload.created_by.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 104, - payload.created_by.uuid.low_bits.reinterpret_as_int64(), - ) - - match payload.parent { - None => { - mbt_ffi_store8(iter_base + 112, 0) - - () - } - Some(payload4) => { - mbt_ffi_store8(iter_base + 112, 1) - mbt_ffi_store64( - iter_base + 120, - payload4.component_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 128, - payload4.component_id.uuid.low_bits.reinterpret_as_int64(), - ) - - let ptr5 = mbt_ffi_str2ptr(payload4.agent_id) - mbt_ffi_store32(iter_base + 140, payload4.agent_id.length()) - mbt_ffi_store32(iter_base + 136, ptr5) - cleanup_list.push(ptr5) - - () - } - } - mbt_ffi_store64( - iter_base + 144, - payload.component_size.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 152, - payload.initial_total_linear_memory_size.reinterpret_as_int64(), - ) - - let address6 = mbt_ffi_malloc( - payload.initial_active_plugins.length() * 16, - ) - for index7 = 0 - index7 < payload.initial_active_plugins.length() - index7 = index7 + 1 { - let iter_elem : EnvironmentPluginGrantId = payload.initial_active_plugins[index7] - let iter_base = address6 + index7 * 16 - mbt_ffi_store64( - iter_base + 0, - iter_elem.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 8, - iter_elem.uuid.low_bits.reinterpret_as_int64(), - ) - } - mbt_ffi_store32( - iter_base + 164, - payload.initial_active_plugins.length(), - ) - mbt_ffi_store32(iter_base + 160, address6) - - let address82 = mbt_ffi_malloc(payload.local_agent_config.length() * 20) - for index83 = 0 - index83 < payload.local_agent_config.length() - index83 = index83 + 1 { - let iter_elem : RawLocalAgentConfigEntry = payload.local_agent_config[index83] - let iter_base = address82 + index83 * 20 - - let address9 = mbt_ffi_malloc(iter_elem.path.length() * 8) - for index10 = 0 - index10 < iter_elem.path.length() - index10 = index10 + 1 { - let iter_elem : String = iter_elem.path[index10] - let iter_base = address9 + index10 * 8 - - let ptr8 = mbt_ffi_str2ptr(iter_elem) - mbt_ffi_store32(iter_base + 4, iter_elem.length()) - mbt_ffi_store32(iter_base + 0, ptr8) - cleanup_list.push(ptr8) - } - mbt_ffi_store32(iter_base + 4, iter_elem.path.length()) - mbt_ffi_store32(iter_base + 0, address9) - - let address80 = mbt_ffi_malloc( - iter_elem.value.value_nodes.length() * 32, - ) - for index81 = 0 - index81 < iter_elem.value.value_nodes.length() - index81 = index81 + 1 { - let iter_elem : @types.SchemaValueNode = iter_elem.value.value_nodes[index81] - let iter_base = address80 + index81 * 32 - - match iter_elem { - BoolValue(payload11) => { - mbt_ffi_store8(iter_base + 0, 0) - mbt_ffi_store8(iter_base + 8, if payload11 { 1 } else { 0 }) - - () - } - S8Value(payload12) => { - mbt_ffi_store8(iter_base + 0, 1) - mbt_ffi_store8(iter_base + 8, mbt_ffi_extend8(payload12)) - - () - } - S16Value(payload13) => { - mbt_ffi_store8(iter_base + 0, 2) - mbt_ffi_store16(iter_base + 8, mbt_ffi_extend16(payload13)) - - () - } - S32Value(payload14) => { - mbt_ffi_store8(iter_base + 0, 3) - mbt_ffi_store32(iter_base + 8, payload14) - - () - } - S64Value(payload15) => { - mbt_ffi_store8(iter_base + 0, 4) - mbt_ffi_store64(iter_base + 8, payload15) - - () - } - U8Value(payload16) => { - mbt_ffi_store8(iter_base + 0, 5) - mbt_ffi_store8(iter_base + 8, payload16.to_int()) - - () - } - U16Value(payload17) => { - mbt_ffi_store8(iter_base + 0, 6) - mbt_ffi_store16(iter_base + 8, payload17.reinterpret_as_int()) - - () - } - U32Value(payload18) => { - mbt_ffi_store8(iter_base + 0, 7) - mbt_ffi_store32(iter_base + 8, payload18.reinterpret_as_int()) - - () - } - U64Value(payload19) => { - mbt_ffi_store8(iter_base + 0, 8) - mbt_ffi_store64(iter_base + 8, payload19.reinterpret_as_int64()) - - () - } - F32Value(payload20) => { - mbt_ffi_store8(iter_base + 0, 9) - mbt_ffi_storef32(iter_base + 8, payload20) - - () - } - F64Value(payload21) => { - mbt_ffi_store8(iter_base + 0, 10) - mbt_ffi_storef64(iter_base + 8, payload21) - - () - } - CharValue(payload22) => { - mbt_ffi_store8(iter_base + 0, 11) - mbt_ffi_store32(iter_base + 8, payload22.to_int()) - - () - } - StringValue(payload23) => { - mbt_ffi_store8(iter_base + 0, 12) - - let ptr24 = mbt_ffi_str2ptr(payload23) - mbt_ffi_store32(iter_base + 12, payload23.length()) - mbt_ffi_store32(iter_base + 8, ptr24) - cleanup_list.push(ptr24) - - () - } - RecordValue(payload25) => { - mbt_ffi_store8(iter_base + 0, 13) - - let address26 = mbt_ffi_malloc(payload25.length() * 4) - for index27 = 0 - index27 < payload25.length() - index27 = index27 + 1 { - let iter_elem : Int = payload25[index27] - let iter_base = address26 + index27 * 4 - mbt_ffi_store32(iter_base + 0, iter_elem) - } - mbt_ffi_store32(iter_base + 12, payload25.length()) - mbt_ffi_store32(iter_base + 8, address26) - cleanup_list.push(address26) - - () - } - VariantValue(payload28) => { - mbt_ffi_store8(iter_base + 0, 14) - mbt_ffi_store32( - iter_base + 8, - payload28.case.reinterpret_as_int(), - ) - - match payload28.payload { - None => { - mbt_ffi_store8(iter_base + 12, 0) - - () - } - Some(payload30) => { - mbt_ffi_store8(iter_base + 12, 1) - mbt_ffi_store32(iter_base + 16, payload30) +pub fn enrich_oplog_entries(environment_id : @host.EnvironmentId, agent_id : @types.AgentId, entries : Array[(UInt64, OplogEntry)], component_revision : UInt64) -> Result[Array[PublicOplogEntry], String] { + let cleanup_list : Array[Int] = [] - () - } - } - - () - } - EnumValue(payload31) => { - mbt_ffi_store8(iter_base + 0, 15) - mbt_ffi_store32(iter_base + 8, payload31.reinterpret_as_int()) - - () - } - FlagsValue(payload32) => { - mbt_ffi_store8(iter_base + 0, 16) - - let address33 = mbt_ffi_malloc(payload32.length() * 1) - for index34 = 0 - index34 < payload32.length() - index34 = index34 + 1 { - let iter_elem : Bool = payload32[index34] - let iter_base = address33 + index34 * 1 - mbt_ffi_store8(iter_base + 0, if iter_elem { 1 } else { 0 }) - } - mbt_ffi_store32(iter_base + 12, payload32.length()) - mbt_ffi_store32(iter_base + 8, address33) - cleanup_list.push(address33) - - () - } - TupleValue(payload35) => { - mbt_ffi_store8(iter_base + 0, 17) - - let address36 = mbt_ffi_malloc(payload35.length() * 4) - for index37 = 0 - index37 < payload35.length() - index37 = index37 + 1 { - let iter_elem : Int = payload35[index37] - let iter_base = address36 + index37 * 4 - mbt_ffi_store32(iter_base + 0, iter_elem) - } - mbt_ffi_store32(iter_base + 12, payload35.length()) - mbt_ffi_store32(iter_base + 8, address36) - cleanup_list.push(address36) - - () - } - ListValue(payload38) => { - mbt_ffi_store8(iter_base + 0, 18) - - let address39 = mbt_ffi_malloc(payload38.length() * 4) - for index40 = 0 - index40 < payload38.length() - index40 = index40 + 1 { - let iter_elem : Int = payload38[index40] - let iter_base = address39 + index40 * 4 - mbt_ffi_store32(iter_base + 0, iter_elem) - } - mbt_ffi_store32(iter_base + 12, payload38.length()) - mbt_ffi_store32(iter_base + 8, address39) - cleanup_list.push(address39) - - () - } - FixedListValue(payload41) => { - mbt_ffi_store8(iter_base + 0, 19) - - let address42 = mbt_ffi_malloc(payload41.length() * 4) - for index43 = 0 - index43 < payload41.length() - index43 = index43 + 1 { - let iter_elem : Int = payload41[index43] - let iter_base = address42 + index43 * 4 - mbt_ffi_store32(iter_base + 0, iter_elem) - } - mbt_ffi_store32(iter_base + 12, payload41.length()) - mbt_ffi_store32(iter_base + 8, address42) - cleanup_list.push(address42) - - () - } - MapValue(payload44) => { - mbt_ffi_store8(iter_base + 0, 20) - - let address45 = mbt_ffi_malloc(payload44.length() * 8) - for index46 = 0 - index46 < payload44.length() - index46 = index46 + 1 { - let iter_elem : @types.MapEntry = payload44[index46] - let iter_base = address45 + index46 * 8 - mbt_ffi_store32(iter_base + 0, iter_elem.key) - mbt_ffi_store32(iter_base + 4, iter_elem.value) - } - mbt_ffi_store32(iter_base + 12, payload44.length()) - mbt_ffi_store32(iter_base + 8, address45) - cleanup_list.push(address45) - - () - } - OptionValue(payload47) => { - mbt_ffi_store8(iter_base + 0, 21) - - match payload47 { - None => { - mbt_ffi_store8(iter_base + 8, 0) - - () - } - Some(payload49) => { - mbt_ffi_store8(iter_base + 8, 1) - mbt_ffi_store32(iter_base + 12, payload49) + let ptr = mbt_ffi_str2ptr((agent_id).agent_id) + + let address460 = mbt_ffi_malloc((entries).length() * 216); + for index461 = 0; index461 < (entries).length(); index461 = index461 + 1 { + let iter_elem : (UInt64, OplogEntry) = (entries)[(index461)] + let iter_base = address460 + (index461 * 216); + mbt_ffi_store64((iter_base) + 0, ((iter_elem).0).reinterpret_as_int64()) - () + match (iter_elem).1 { + Create(payload) => { + mbt_ffi_store8((iter_base) + 8, (0)) + mbt_ffi_store64((iter_base) + 16, ((payload).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, (((((payload).agent_id).component_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, (((((payload).agent_id).component_id).uuid).low_bits).reinterpret_as_int64()) + + let ptr0 = mbt_ffi_str2ptr(((payload).agent_id).agent_id) + mbt_ffi_store32((iter_base) + 52, ((payload).agent_id).agent_id.length()) + mbt_ffi_store32((iter_base) + 48, ptr0) + mbt_ffi_store8((iter_base) + 56, (payload).agent_mode.ordinal()) + mbt_ffi_store64((iter_base) + 64, ((payload).component_revision).reinterpret_as_int64()) + + let address = mbt_ffi_malloc(((payload).env).length() * 16); + for index = 0; index < ((payload).env).length(); index = index + 1 { + let iter_elem : (String, String) = ((payload).env)[(index)] + let iter_base = address + (index * 16); + + let ptr1 = mbt_ffi_str2ptr((iter_elem).0) + mbt_ffi_store32((iter_base) + 4, (iter_elem).0.length()) + mbt_ffi_store32((iter_base) + 0, ptr1) + + let ptr2 = mbt_ffi_str2ptr((iter_elem).1) + mbt_ffi_store32((iter_base) + 12, (iter_elem).1.length()) + mbt_ffi_store32((iter_base) + 8, ptr2) + cleanup_list.push(ptr1) + cleanup_list.push(ptr2) + + } + mbt_ffi_store32((iter_base) + 76, ((payload).env).length()) + mbt_ffi_store32((iter_base) + 72, address) + mbt_ffi_store64((iter_base) + 80, ((((payload).environment_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 88, ((((payload).environment_id).uuid).low_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 96, ((((payload).created_by).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 104, ((((payload).created_by).uuid).low_bits).reinterpret_as_int64()) + + match ((payload).parent) { + None => { + mbt_ffi_store8((iter_base) + 112, (0)) + + () + } + Some(payload4) => { + mbt_ffi_store8((iter_base) + 112, (1)) + mbt_ffi_store64((iter_base) + 120, ((((payload4).component_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 128, ((((payload4).component_id).uuid).low_bits).reinterpret_as_int64()) + + let ptr5 = mbt_ffi_str2ptr((payload4).agent_id) + mbt_ffi_store32((iter_base) + 140, (payload4).agent_id.length()) + mbt_ffi_store32((iter_base) + 136, ptr5) + cleanup_list.push(ptr5) + + () + } + } + mbt_ffi_store64((iter_base) + 144, ((payload).component_size).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 152, ((payload).initial_total_linear_memory_size).reinterpret_as_int64()) + + let address6 = mbt_ffi_malloc(((payload).initial_active_plugins).length() * 16); + for index7 = 0; index7 < ((payload).initial_active_plugins).length(); index7 = index7 + 1 { + let iter_elem : EnvironmentPluginGrantId = ((payload).initial_active_plugins)[(index7)] + let iter_base = address6 + (index7 * 16); + mbt_ffi_store64((iter_base) + 0, (((iter_elem).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 8, (((iter_elem).uuid).low_bits).reinterpret_as_int64()) + + } + mbt_ffi_store32((iter_base) + 164, ((payload).initial_active_plugins).length()) + mbt_ffi_store32((iter_base) + 160, address6) + + let address82 = mbt_ffi_malloc(((payload).local_agent_config).length() * 20); + for index83 = 0; index83 < ((payload).local_agent_config).length(); index83 = index83 + 1 { + let iter_elem : RawLocalAgentConfigEntry = ((payload).local_agent_config)[(index83)] + let iter_base = address82 + (index83 * 20); + + let address9 = mbt_ffi_malloc(((iter_elem).path).length() * 8); + for index10 = 0; index10 < ((iter_elem).path).length(); index10 = index10 + 1 { + let iter_elem : String = ((iter_elem).path)[(index10)] + let iter_base = address9 + (index10 * 8); + + let ptr8 = mbt_ffi_str2ptr(iter_elem) + mbt_ffi_store32((iter_base) + 4, iter_elem.length()) + mbt_ffi_store32((iter_base) + 0, ptr8) + cleanup_list.push(ptr8) + + } + mbt_ffi_store32((iter_base) + 4, ((iter_elem).path).length()) + mbt_ffi_store32((iter_base) + 0, address9) + + let address80 = mbt_ffi_malloc((((iter_elem).value).value_nodes).length() * 32); + for index81 = 0; index81 < (((iter_elem).value).value_nodes).length(); index81 = index81 + 1 { + let iter_elem : @types.SchemaValueNode = (((iter_elem).value).value_nodes)[(index81)] + let iter_base = address80 + (index81 * 32); + + match iter_elem { + BoolValue(payload11) => { + mbt_ffi_store8((iter_base) + 0, (0)) + mbt_ffi_store8((iter_base) + 8, (if payload11 { 1 } else { 0 })) + + () + } + S8Value(payload12) => { + mbt_ffi_store8((iter_base) + 0, (1)) + mbt_ffi_store8((iter_base) + 8, mbt_ffi_extend8(payload12)) + + () + } + S16Value(payload13) => { + mbt_ffi_store8((iter_base) + 0, (2)) + mbt_ffi_store16((iter_base) + 8, mbt_ffi_extend16(payload13)) + + () + } + S32Value(payload14) => { + mbt_ffi_store8((iter_base) + 0, (3)) + mbt_ffi_store32((iter_base) + 8, payload14) + + () + } + S64Value(payload15) => { + mbt_ffi_store8((iter_base) + 0, (4)) + mbt_ffi_store64((iter_base) + 8, payload15) + + () + } + U8Value(payload16) => { + mbt_ffi_store8((iter_base) + 0, (5)) + mbt_ffi_store8((iter_base) + 8, (payload16).to_int()) + + () + } + U16Value(payload17) => { + mbt_ffi_store8((iter_base) + 0, (6)) + mbt_ffi_store16((iter_base) + 8, (payload17).reinterpret_as_int()) + + () + } + U32Value(payload18) => { + mbt_ffi_store8((iter_base) + 0, (7)) + mbt_ffi_store32((iter_base) + 8, (payload18).reinterpret_as_int()) + + () + } + U64Value(payload19) => { + mbt_ffi_store8((iter_base) + 0, (8)) + mbt_ffi_store64((iter_base) + 8, (payload19).reinterpret_as_int64()) + + () + } + F32Value(payload20) => { + mbt_ffi_store8((iter_base) + 0, (9)) + mbt_ffi_storef32((iter_base) + 8, payload20) + + () + } + F64Value(payload21) => { + mbt_ffi_store8((iter_base) + 0, (10)) + mbt_ffi_storef64((iter_base) + 8, payload21) + + () + } + CharValue(payload22) => { + mbt_ffi_store8((iter_base) + 0, (11)) + mbt_ffi_store32((iter_base) + 8, (payload22).to_int()) + + () + } + StringValue(payload23) => { + mbt_ffi_store8((iter_base) + 0, (12)) + + let ptr24 = mbt_ffi_str2ptr(payload23) + mbt_ffi_store32((iter_base) + 12, payload23.length()) + mbt_ffi_store32((iter_base) + 8, ptr24) + cleanup_list.push(ptr24) + + () + } + RecordValue(payload25) => { + mbt_ffi_store8((iter_base) + 0, (13)) + + let address26 = mbt_ffi_malloc((payload25).length() * 4); + for index27 = 0; index27 < (payload25).length(); index27 = index27 + 1 { + let iter_elem : Int = (payload25)[(index27)] + let iter_base = address26 + (index27 * 4); + mbt_ffi_store32((iter_base) + 0, iter_elem) + + } + mbt_ffi_store32((iter_base) + 12, (payload25).length()) + mbt_ffi_store32((iter_base) + 8, address26) + cleanup_list.push(address26) + + () + } + VariantValue(payload28) => { + mbt_ffi_store8((iter_base) + 0, (14)) + mbt_ffi_store32((iter_base) + 8, ((payload28).case).reinterpret_as_int()) + + match ((payload28).payload) { + None => { + mbt_ffi_store8((iter_base) + 12, (0)) + + () + } + Some(payload30) => { + mbt_ffi_store8((iter_base) + 12, (1)) + mbt_ffi_store32((iter_base) + 16, payload30) + + () + } + } + + () + } + EnumValue(payload31) => { + mbt_ffi_store8((iter_base) + 0, (15)) + mbt_ffi_store32((iter_base) + 8, (payload31).reinterpret_as_int()) + + () + } + FlagsValue(payload32) => { + mbt_ffi_store8((iter_base) + 0, (16)) + + let address33 = mbt_ffi_malloc((payload32).length() * 1); + for index34 = 0; index34 < (payload32).length(); index34 = index34 + 1 { + let iter_elem : Bool = (payload32)[(index34)] + let iter_base = address33 + (index34 * 1); + mbt_ffi_store8((iter_base) + 0, (if iter_elem { 1 } else { 0 })) + + } + mbt_ffi_store32((iter_base) + 12, (payload32).length()) + mbt_ffi_store32((iter_base) + 8, address33) + cleanup_list.push(address33) + + () + } + TupleValue(payload35) => { + mbt_ffi_store8((iter_base) + 0, (17)) + + let address36 = mbt_ffi_malloc((payload35).length() * 4); + for index37 = 0; index37 < (payload35).length(); index37 = index37 + 1 { + let iter_elem : Int = (payload35)[(index37)] + let iter_base = address36 + (index37 * 4); + mbt_ffi_store32((iter_base) + 0, iter_elem) + + } + mbt_ffi_store32((iter_base) + 12, (payload35).length()) + mbt_ffi_store32((iter_base) + 8, address36) + cleanup_list.push(address36) + + () + } + ListValue(payload38) => { + mbt_ffi_store8((iter_base) + 0, (18)) + + let address39 = mbt_ffi_malloc((payload38).length() * 4); + for index40 = 0; index40 < (payload38).length(); index40 = index40 + 1 { + let iter_elem : Int = (payload38)[(index40)] + let iter_base = address39 + (index40 * 4); + mbt_ffi_store32((iter_base) + 0, iter_elem) + + } + mbt_ffi_store32((iter_base) + 12, (payload38).length()) + mbt_ffi_store32((iter_base) + 8, address39) + cleanup_list.push(address39) + + () + } + FixedListValue(payload41) => { + mbt_ffi_store8((iter_base) + 0, (19)) + + let address42 = mbt_ffi_malloc((payload41).length() * 4); + for index43 = 0; index43 < (payload41).length(); index43 = index43 + 1 { + let iter_elem : Int = (payload41)[(index43)] + let iter_base = address42 + (index43 * 4); + mbt_ffi_store32((iter_base) + 0, iter_elem) + + } + mbt_ffi_store32((iter_base) + 12, (payload41).length()) + mbt_ffi_store32((iter_base) + 8, address42) + cleanup_list.push(address42) + + () + } + MapValue(payload44) => { + mbt_ffi_store8((iter_base) + 0, (20)) + + let address45 = mbt_ffi_malloc((payload44).length() * 8); + for index46 = 0; index46 < (payload44).length(); index46 = index46 + 1 { + let iter_elem : @types.MapEntry = (payload44)[(index46)] + let iter_base = address45 + (index46 * 8); + mbt_ffi_store32((iter_base) + 0, (iter_elem).key) + mbt_ffi_store32((iter_base) + 4, (iter_elem).value) + + } + mbt_ffi_store32((iter_base) + 12, (payload44).length()) + mbt_ffi_store32((iter_base) + 8, address45) + cleanup_list.push(address45) + + () + } + OptionValue(payload47) => { + mbt_ffi_store8((iter_base) + 0, (21)) + + match (payload47) { + None => { + mbt_ffi_store8((iter_base) + 8, (0)) + + () + } + Some(payload49) => { + mbt_ffi_store8((iter_base) + 8, (1)) + mbt_ffi_store32((iter_base) + 12, payload49) + + () + } + } + + () + } + ResultValue(payload50) => { + mbt_ffi_store8((iter_base) + 0, (22)) + + match payload50 { + OkValue(payload51) => { + mbt_ffi_store8((iter_base) + 8, (0)) + + match (payload51) { + None => { + mbt_ffi_store8((iter_base) + 12, (0)) + + () + } + Some(payload53) => { + mbt_ffi_store8((iter_base) + 12, (1)) + mbt_ffi_store32((iter_base) + 16, payload53) + + () + } + } + + () + } + ErrValue(payload54) => { + mbt_ffi_store8((iter_base) + 8, (1)) + + match (payload54) { + None => { + mbt_ffi_store8((iter_base) + 12, (0)) + + () + } + Some(payload56) => { + mbt_ffi_store8((iter_base) + 12, (1)) + mbt_ffi_store32((iter_base) + 16, payload56) + + () + } + } + + () + } + } + + () + } + TextValue(payload57) => { + mbt_ffi_store8((iter_base) + 0, (23)) + + let ptr58 = mbt_ffi_str2ptr((payload57).text) + mbt_ffi_store32((iter_base) + 12, (payload57).text.length()) + mbt_ffi_store32((iter_base) + 8, ptr58) + + match ((payload57).language) { + None => { + mbt_ffi_store8((iter_base) + 16, (0)) + + () + } + Some(payload60) => { + mbt_ffi_store8((iter_base) + 16, (1)) + + let ptr61 = mbt_ffi_str2ptr(payload60) + mbt_ffi_store32((iter_base) + 24, payload60.length()) + mbt_ffi_store32((iter_base) + 20, ptr61) + cleanup_list.push(ptr61) + + () + } + } + cleanup_list.push(ptr58) + + () + } + BinaryValue(payload62) => { + mbt_ffi_store8((iter_base) + 0, (24)) + + let ptr63 = mbt_ffi_bytes2ptr((payload62).bytes) + + mbt_ffi_store32((iter_base) + 12, (payload62).bytes.length()) + mbt_ffi_store32((iter_base) + 8, ptr63) + + match ((payload62).mime_type) { + None => { + mbt_ffi_store8((iter_base) + 16, (0)) + + () + } + Some(payload65) => { + mbt_ffi_store8((iter_base) + 16, (1)) + + let ptr66 = mbt_ffi_str2ptr(payload65) + mbt_ffi_store32((iter_base) + 24, payload65.length()) + mbt_ffi_store32((iter_base) + 20, ptr66) + cleanup_list.push(ptr66) + + () + } + } + cleanup_list.push(ptr63) + + () + } + PathValue(payload67) => { + mbt_ffi_store8((iter_base) + 0, (25)) + + let ptr68 = mbt_ffi_str2ptr(payload67) + mbt_ffi_store32((iter_base) + 12, payload67.length()) + mbt_ffi_store32((iter_base) + 8, ptr68) + cleanup_list.push(ptr68) + + () + } + UrlValue(payload69) => { + mbt_ffi_store8((iter_base) + 0, (26)) + + let ptr70 = mbt_ffi_str2ptr(payload69) + mbt_ffi_store32((iter_base) + 12, payload69.length()) + mbt_ffi_store32((iter_base) + 8, ptr70) + cleanup_list.push(ptr70) + + () + } + DatetimeValue(payload71) => { + mbt_ffi_store8((iter_base) + 0, (27)) + mbt_ffi_store64((iter_base) + 8, (payload71).seconds) + mbt_ffi_store32((iter_base) + 16, ((payload71).nanoseconds).reinterpret_as_int()) + + () + } + DurationValue(payload72) => { + mbt_ffi_store8((iter_base) + 0, (28)) + mbt_ffi_store64((iter_base) + 8, (payload72).nanoseconds) + + () + } + QuantityValueNode(payload73) => { + mbt_ffi_store8((iter_base) + 0, (29)) + mbt_ffi_store64((iter_base) + 8, (payload73).mantissa) + mbt_ffi_store32((iter_base) + 16, (payload73).scale) + + let ptr74 = mbt_ffi_str2ptr((payload73).unit) + mbt_ffi_store32((iter_base) + 24, (payload73).unit.length()) + mbt_ffi_store32((iter_base) + 20, ptr74) + cleanup_list.push(ptr74) + + () + } + UnionValue(payload75) => { + mbt_ffi_store8((iter_base) + 0, (30)) + + let ptr76 = mbt_ffi_str2ptr((payload75).tag) + mbt_ffi_store32((iter_base) + 12, (payload75).tag.length()) + mbt_ffi_store32((iter_base) + 8, ptr76) + mbt_ffi_store32((iter_base) + 16, (payload75).body) + cleanup_list.push(ptr76) + + () + } + SecretValue(payload77) => { + mbt_ffi_store8((iter_base) + 0, (31)) + + let @types.Secret(handle) = payload77 + mbt_ffi_store32((iter_base) + 8, handle) + + () + } + QuotaTokenHandle(payload78) => { + mbt_ffi_store8((iter_base) + 0, (32)) + + let @types.QuotaToken(handle79) = payload78 + mbt_ffi_store32((iter_base) + 8, handle79) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 12, (((iter_elem).value).value_nodes).length()) + mbt_ffi_store32((iter_base) + 8, address80) + mbt_ffi_store32((iter_base) + 16, ((iter_elem).value).root) + cleanup_list.push(address9) + cleanup_list.push(address80) + + } + mbt_ffi_store32((iter_base) + 172, ((payload).local_agent_config).length()) + mbt_ffi_store32((iter_base) + 168, address82) + + match ((payload).original_phantom_id) { + None => { + mbt_ffi_store8((iter_base) + 176, (0)) + + () + } + Some(payload85) => { + mbt_ffi_store8((iter_base) + 176, (1)) + mbt_ffi_store64((iter_base) + 184, ((payload85).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 192, ((payload85).low_bits).reinterpret_as_int64()) + + () + } + } + mbt_ffi_store64((iter_base) + 200, (((payload).instance_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 208, (((payload).instance_id).low_bits).reinterpret_as_int64()) + cleanup_list.push(ptr0) + cleanup_list.push(address) + cleanup_list.push(address6) + cleanup_list.push(address82) + + () } - } + Start(payload86) => { + mbt_ffi_store8((iter_base) + 8, (1)) + mbt_ffi_store64((iter_base) + 16, ((payload86).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload86).timestamp).nanoseconds).reinterpret_as_int()) - () - } - ResultValue(payload50) => { - mbt_ffi_store8(iter_base + 0, 22) + match ((payload86).parent_start_index) { + None => { + mbt_ffi_store8((iter_base) + 32, (0)) - match payload50 { - OkValue(payload51) => { - mbt_ffi_store8(iter_base + 8, 0) + () + } + Some(payload88) => { + mbt_ffi_store8((iter_base) + 32, (1)) + mbt_ffi_store64((iter_base) + 40, (payload88).reinterpret_as_int64()) - match payload51 { - None => { - mbt_ffi_store8(iter_base + 12, 0) + () + } + } - () - } - Some(payload53) => { - mbt_ffi_store8(iter_base + 12, 1) - mbt_ffi_store32(iter_base + 16, payload53) + let ptr89 = mbt_ffi_str2ptr((payload86).function_name) + mbt_ffi_store32((iter_base) + 52, (payload86).function_name.length()) + mbt_ffi_store32((iter_base) + 48, ptr89) - () - } - } + match ((payload86).invocation_id) { + None => { + mbt_ffi_store8((iter_base) + 56, (0)) - () - } - ErrValue(payload54) => { - mbt_ffi_store8(iter_base + 8, 1) + () + } + Some(payload91) => { + mbt_ffi_store8((iter_base) + 56, (1)) + mbt_ffi_store64((iter_base) + 64, ((payload91).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 72, ((payload91).low_bits).reinterpret_as_int64()) - match payload54 { - None => { - mbt_ffi_store8(iter_base + 12, 0) + () + } + } - () - } - Some(payload56) => { - mbt_ffi_store8(iter_base + 12, 1) - mbt_ffi_store32(iter_base + 16, payload56) + match ((payload86).observational_owner) { + None => { + mbt_ffi_store8((iter_base) + 80, (0)) - () - } - } + () + } + Some(payload93) => { + mbt_ffi_store8((iter_base) + 80, (1)) + mbt_ffi_store64((iter_base) + 88, (payload93).reinterpret_as_int64()) - () - } - } + () + } + } - () - } - TextValue(payload57) => { - mbt_ffi_store8(iter_base + 0, 23) + match ((payload86).request) { + None => { + mbt_ffi_store8((iter_base) + 96, (0)) - let ptr58 = mbt_ffi_str2ptr(payload57.text) - mbt_ffi_store32(iter_base + 12, payload57.text.length()) - mbt_ffi_store32(iter_base + 8, ptr58) + () + } + Some(payload95) => { + mbt_ffi_store8((iter_base) + 96, (1)) - match payload57.language { - None => { - mbt_ffi_store8(iter_base + 16, 0) + match payload95 { + Inline(payload96) => { + mbt_ffi_store8((iter_base) + 104, (0)) - () - } - Some(payload60) => { - mbt_ffi_store8(iter_base + 16, 1) + let ptr97 = mbt_ffi_bytes2ptr(payload96) - let ptr61 = mbt_ffi_str2ptr(payload60) - mbt_ffi_store32(iter_base + 24, payload60.length()) - mbt_ffi_store32(iter_base + 20, ptr61) - cleanup_list.push(ptr61) + mbt_ffi_store32((iter_base) + 116, payload96.length()) + mbt_ffi_store32((iter_base) + 112, ptr97) + cleanup_list.push(ptr97) - () - } - } - cleanup_list.push(ptr58) + () + } + External(payload98) => { + mbt_ffi_store8((iter_base) + 104, (1)) + mbt_ffi_store64((iter_base) + 112, (((payload98).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 120, (((payload98).payload_id).low_bits).reinterpret_as_int64()) - () - } - BinaryValue(payload62) => { - mbt_ffi_store8(iter_base + 0, 24) + let ptr99 = mbt_ffi_bytes2ptr((payload98).md5_hash) - let ptr63 = mbt_ffi_bytes2ptr(payload62.bytes) + mbt_ffi_store32((iter_base) + 132, (payload98).md5_hash.length()) + mbt_ffi_store32((iter_base) + 128, ptr99) + cleanup_list.push(ptr99) - mbt_ffi_store32(iter_base + 12, payload62.bytes.length()) - mbt_ffi_store32(iter_base + 8, ptr63) + () + } + } - match payload62.mime_type { - None => { - mbt_ffi_store8(iter_base + 16, 0) + () + } + } - () - } - Some(payload65) => { - mbt_ffi_store8(iter_base + 16, 1) + match (payload86).durable_function_type { + ReadLocal => { + mbt_ffi_store8((iter_base) + 136, (0)) - let ptr66 = mbt_ffi_str2ptr(payload65) - mbt_ffi_store32(iter_base + 24, payload65.length()) - mbt_ffi_store32(iter_base + 20, ptr66) - cleanup_list.push(ptr66) + () + } + WriteLocal => { + mbt_ffi_store8((iter_base) + 136, (1)) - () - } - } - cleanup_list.push(ptr63) - - () - } - PathValue(payload67) => { - mbt_ffi_store8(iter_base + 0, 25) - - let ptr68 = mbt_ffi_str2ptr(payload67) - mbt_ffi_store32(iter_base + 12, payload67.length()) - mbt_ffi_store32(iter_base + 8, ptr68) - cleanup_list.push(ptr68) - - () - } - UrlValue(payload69) => { - mbt_ffi_store8(iter_base + 0, 26) - - let ptr70 = mbt_ffi_str2ptr(payload69) - mbt_ffi_store32(iter_base + 12, payload69.length()) - mbt_ffi_store32(iter_base + 8, ptr70) - cleanup_list.push(ptr70) - - () - } - DatetimeValue(payload71) => { - mbt_ffi_store8(iter_base + 0, 27) - mbt_ffi_store64(iter_base + 8, payload71.seconds) - mbt_ffi_store32( - iter_base + 16, - payload71.nanoseconds.reinterpret_as_int(), - ) - - () - } - DurationValue(payload72) => { - mbt_ffi_store8(iter_base + 0, 28) - mbt_ffi_store64(iter_base + 8, payload72.nanoseconds) - - () - } - QuantityValueNode(payload73) => { - mbt_ffi_store8(iter_base + 0, 29) - mbt_ffi_store64(iter_base + 8, payload73.mantissa) - mbt_ffi_store32(iter_base + 16, payload73.scale) - - let ptr74 = mbt_ffi_str2ptr(payload73.unit) - mbt_ffi_store32(iter_base + 24, payload73.unit.length()) - mbt_ffi_store32(iter_base + 20, ptr74) - cleanup_list.push(ptr74) - - () - } - UnionValue(payload75) => { - mbt_ffi_store8(iter_base + 0, 30) - - let ptr76 = mbt_ffi_str2ptr(payload75.tag) - mbt_ffi_store32(iter_base + 12, payload75.tag.length()) - mbt_ffi_store32(iter_base + 8, ptr76) - mbt_ffi_store32(iter_base + 16, payload75.body) - cleanup_list.push(ptr76) - - () - } - SecretValue(payload77) => { - mbt_ffi_store8(iter_base + 0, 31) - - let @types.Secret(handle) = payload77 - mbt_ffi_store32(iter_base + 8, handle) - - () - } - QuotaTokenHandle(payload78) => { - mbt_ffi_store8(iter_base + 0, 32) - - let @types.QuotaToken(handle79) = payload78 - mbt_ffi_store32(iter_base + 8, handle79) - - () - } - } - } - mbt_ffi_store32(iter_base + 12, iter_elem.value.value_nodes.length()) - mbt_ffi_store32(iter_base + 8, address80) - mbt_ffi_store32(iter_base + 16, iter_elem.value.root) - cleanup_list.push(address9) - cleanup_list.push(address80) - } - mbt_ffi_store32(iter_base + 172, payload.local_agent_config.length()) - mbt_ffi_store32(iter_base + 168, address82) - - match payload.original_phantom_id { - None => { - mbt_ffi_store8(iter_base + 176, 0) - - () - } - Some(payload85) => { - mbt_ffi_store8(iter_base + 176, 1) - mbt_ffi_store64( - iter_base + 184, - payload85.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 192, - payload85.low_bits.reinterpret_as_int64(), - ) - - () - } - } - mbt_ffi_store64( - iter_base + 200, - payload.instance_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 208, - payload.instance_id.low_bits.reinterpret_as_int64(), - ) - cleanup_list.push(ptr0) - cleanup_list.push(address) - cleanup_list.push(address6) - cleanup_list.push(address82) - - () - } - Start(payload86) => { - mbt_ffi_store8(iter_base + 8, 1) - mbt_ffi_store64(iter_base + 16, payload86.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload86.timestamp.nanoseconds.reinterpret_as_int(), - ) - - match payload86.parent_start_index { - None => { - mbt_ffi_store8(iter_base + 32, 0) - - () - } - Some(payload88) => { - mbt_ffi_store8(iter_base + 32, 1) - mbt_ffi_store64(iter_base + 40, payload88.reinterpret_as_int64()) - - () - } - } - - let ptr89 = mbt_ffi_str2ptr(payload86.function_name) - mbt_ffi_store32(iter_base + 52, payload86.function_name.length()) - mbt_ffi_store32(iter_base + 48, ptr89) - - match payload86.invocation_id { - None => { - mbt_ffi_store8(iter_base + 56, 0) - - () - } - Some(payload91) => { - mbt_ffi_store8(iter_base + 56, 1) - mbt_ffi_store64( - iter_base + 64, - payload91.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 72, - payload91.low_bits.reinterpret_as_int64(), - ) - - () - } - } - - match payload86.observational_owner { - None => { - mbt_ffi_store8(iter_base + 80, 0) - - () - } - Some(payload93) => { - mbt_ffi_store8(iter_base + 80, 1) - mbt_ffi_store64(iter_base + 88, payload93.reinterpret_as_int64()) - - () - } - } - - match payload86.request { - None => { - mbt_ffi_store8(iter_base + 96, 0) - - () - } - Some(payload95) => { - mbt_ffi_store8(iter_base + 96, 1) - - match payload95 { - Inline(payload96) => { - mbt_ffi_store8(iter_base + 104, 0) - - let ptr97 = mbt_ffi_bytes2ptr(payload96) - - mbt_ffi_store32(iter_base + 116, payload96.length()) - mbt_ffi_store32(iter_base + 112, ptr97) - cleanup_list.push(ptr97) - - () - } - External(payload98) => { - mbt_ffi_store8(iter_base + 104, 1) - mbt_ffi_store64( - iter_base + 112, - payload98.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 120, - payload98.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr99 = mbt_ffi_bytes2ptr(payload98.md5_hash) - - mbt_ffi_store32(iter_base + 132, payload98.md5_hash.length()) - mbt_ffi_store32(iter_base + 128, ptr99) - cleanup_list.push(ptr99) - - () - } - } + () + } + ReadRemote => { + mbt_ffi_store8((iter_base) + 136, (2)) - () - } - } - - match payload86.durable_function_type { - ReadLocal => { - mbt_ffi_store8(iter_base + 136, 0) - - () - } - WriteLocal => { - mbt_ffi_store8(iter_base + 136, 1) - - () - } - ReadRemote => { - mbt_ffi_store8(iter_base + 136, 2) - - () - } - WriteRemote => { - mbt_ffi_store8(iter_base + 136, 3) - - () - } - WriteRemoteBatched(payload104) => { - mbt_ffi_store8(iter_base + 136, 4) - - match payload104 { - None => { - mbt_ffi_store8(iter_base + 144, 0) - - () - } - Some(payload106) => { - mbt_ffi_store8(iter_base + 144, 1) - mbt_ffi_store64( - iter_base + 152, - payload106.reinterpret_as_int64(), - ) - - () - } - } + () + } + WriteRemote => { + mbt_ffi_store8((iter_base) + 136, (3)) - () - } - WriteRemoteTransaction(payload107) => { - mbt_ffi_store8(iter_base + 136, 5) - - match payload107 { - None => { - mbt_ffi_store8(iter_base + 144, 0) - - () - } - Some(payload109) => { - mbt_ffi_store8(iter_base + 144, 1) - mbt_ffi_store64( - iter_base + 152, - payload109.reinterpret_as_int64(), - ) - - () - } - } + () + } + WriteRemoteBatched(payload104) => { + mbt_ffi_store8((iter_base) + 136, (4)) - () - } - } - cleanup_list.push(ptr89) + match (payload104) { + None => { + mbt_ffi_store8((iter_base) + 144, (0)) - () - } - End(payload110) => { - mbt_ffi_store8(iter_base + 8, 2) - mbt_ffi_store64(iter_base + 16, payload110.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload110.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload110.start_index.reinterpret_as_int64(), - ) - - match payload110.response { - None => { - mbt_ffi_store8(iter_base + 40, 0) - - () - } - Some(payload112) => { - mbt_ffi_store8(iter_base + 40, 1) - - match payload112 { - Inline(payload113) => { - mbt_ffi_store8(iter_base + 48, 0) - - let ptr114 = mbt_ffi_bytes2ptr(payload113) - - mbt_ffi_store32(iter_base + 60, payload113.length()) - mbt_ffi_store32(iter_base + 56, ptr114) - cleanup_list.push(ptr114) - - () - } - External(payload115) => { - mbt_ffi_store8(iter_base + 48, 1) - mbt_ffi_store64( - iter_base + 56, - payload115.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 64, - payload115.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr116 = mbt_ffi_bytes2ptr(payload115.md5_hash) - - mbt_ffi_store32(iter_base + 76, payload115.md5_hash.length()) - mbt_ffi_store32(iter_base + 72, ptr116) - cleanup_list.push(ptr116) - - () - } - } + () + } + Some(payload106) => { + mbt_ffi_store8((iter_base) + 144, (1)) + mbt_ffi_store64((iter_base) + 152, (payload106).reinterpret_as_int64()) - () - } - } - mbt_ffi_store8( - iter_base + 80, - if payload110.forced_commit { - 1 - } else { - 0 - }, - ) - - () - } - Cancelled(payload117) => { - mbt_ffi_store8(iter_base + 8, 3) - mbt_ffi_store64(iter_base + 16, payload117.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload117.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload117.start_index.reinterpret_as_int64(), - ) - - match payload117.partial { - None => { - mbt_ffi_store8(iter_base + 40, 0) - - () - } - Some(payload119) => { - mbt_ffi_store8(iter_base + 40, 1) - - match payload119 { - Inline(payload120) => { - mbt_ffi_store8(iter_base + 48, 0) - - let ptr121 = mbt_ffi_bytes2ptr(payload120) - - mbt_ffi_store32(iter_base + 60, payload120.length()) - mbt_ffi_store32(iter_base + 56, ptr121) - cleanup_list.push(ptr121) - - () - } - External(payload122) => { - mbt_ffi_store8(iter_base + 48, 1) - mbt_ffi_store64( - iter_base + 56, - payload122.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 64, - payload122.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr123 = mbt_ffi_bytes2ptr(payload122.md5_hash) - - mbt_ffi_store32(iter_base + 76, payload122.md5_hash.length()) - mbt_ffi_store32(iter_base + 72, ptr123) - cleanup_list.push(ptr123) - - () - } - } + () + } + } - () - } - } + () + } + WriteRemoteTransaction(payload107) => { + mbt_ffi_store8((iter_base) + 136, (5)) - () - } - AgentInvocationStarted(payload124) => { - mbt_ffi_store8(iter_base + 8, 4) - mbt_ffi_store64(iter_base + 16, payload124.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload124.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr125 = mbt_ffi_str2ptr(payload124.idempotency_key) - mbt_ffi_store32(iter_base + 36, payload124.idempotency_key.length()) - mbt_ffi_store32(iter_base + 32, ptr125) - - match payload124.payload { - Inline(payload126) => { - mbt_ffi_store8(iter_base + 40, 0) - - let ptr127 = mbt_ffi_bytes2ptr(payload126) - - mbt_ffi_store32(iter_base + 52, payload126.length()) - mbt_ffi_store32(iter_base + 48, ptr127) - cleanup_list.push(ptr127) - - () - } - External(payload128) => { - mbt_ffi_store8(iter_base + 40, 1) - mbt_ffi_store64( - iter_base + 48, - payload128.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 56, - payload128.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr129 = mbt_ffi_bytes2ptr(payload128.md5_hash) - - mbt_ffi_store32(iter_base + 68, payload128.md5_hash.length()) - mbt_ffi_store32(iter_base + 64, ptr129) - cleanup_list.push(ptr129) - - () - } - } - - let ptr130 = mbt_ffi_str2ptr(payload124.trace_id) - mbt_ffi_store32(iter_base + 76, payload124.trace_id.length()) - mbt_ffi_store32(iter_base + 72, ptr130) - - let address132 = mbt_ffi_malloc(payload124.trace_states.length() * 8) - for index133 = 0 - index133 < payload124.trace_states.length() - index133 = index133 + 1 { - let iter_elem : String = payload124.trace_states[index133] - let iter_base = address132 + index133 * 8 - - let ptr131 = mbt_ffi_str2ptr(iter_elem) - mbt_ffi_store32(iter_base + 4, iter_elem.length()) - mbt_ffi_store32(iter_base + 0, ptr131) - cleanup_list.push(ptr131) - } - mbt_ffi_store32(iter_base + 84, payload124.trace_states.length()) - mbt_ffi_store32(iter_base + 80, address132) - - let address148 = mbt_ffi_malloc( - payload124.invocation_context.length() * 80, - ) - for index149 = 0 - index149 < payload124.invocation_context.length() - index149 = index149 + 1 { - let iter_elem : SpanData = payload124.invocation_context[index149] - let iter_base = address148 + index149 * 80 - - match iter_elem { - LocalSpan(payload134) => { - mbt_ffi_store8(iter_base + 0, 0) - - let ptr135 = mbt_ffi_str2ptr(payload134.span_id) - mbt_ffi_store32(iter_base + 12, payload134.span_id.length()) - mbt_ffi_store32(iter_base + 8, ptr135) - mbt_ffi_store64(iter_base + 16, payload134.start.seconds) - mbt_ffi_store32( - iter_base + 24, - payload134.start.nanoseconds.reinterpret_as_int(), - ) - - match payload134.parent { - None => { - mbt_ffi_store8(iter_base + 32, 0) - - () - } - Some(payload137) => { - mbt_ffi_store8(iter_base + 32, 1) - - let ptr138 = mbt_ffi_str2ptr(payload137) - mbt_ffi_store32(iter_base + 40, payload137.length()) - mbt_ffi_store32(iter_base + 36, ptr138) - cleanup_list.push(ptr138) - - () - } - } - - match payload134.linked_context { - None => { - mbt_ffi_store8(iter_base + 48, 0) - - () - } - Some(payload140) => { - mbt_ffi_store8(iter_base + 48, 1) - mbt_ffi_store64( - iter_base + 56, - payload140.reinterpret_as_int64(), - ) - - () - } - } - - let address144 = mbt_ffi_malloc( - payload134.attributes.length() * 20, - ) - for index145 = 0 - index145 < payload134.attributes.length() - index145 = index145 + 1 { - let iter_elem : @context.Attribute = payload134.attributes[index145] - let iter_base = address144 + index145 * 20 - - let ptr141 = mbt_ffi_str2ptr(iter_elem.key) - mbt_ffi_store32(iter_base + 4, iter_elem.key.length()) - mbt_ffi_store32(iter_base + 0, ptr141) - - match iter_elem.value { - String(payload142) => { - mbt_ffi_store8(iter_base + 8, 0) - - let ptr143 = mbt_ffi_str2ptr(payload142) - mbt_ffi_store32(iter_base + 16, payload142.length()) - mbt_ffi_store32(iter_base + 12, ptr143) - cleanup_list.push(ptr143) - - () - } - } - cleanup_list.push(ptr141) - } - mbt_ffi_store32(iter_base + 68, payload134.attributes.length()) - mbt_ffi_store32(iter_base + 64, address144) - mbt_ffi_store8( - iter_base + 72, - if payload134.inherited { - 1 - } else { - 0 - }, - ) - cleanup_list.push(ptr135) - cleanup_list.push(address144) - - () - } - ExternalSpan(payload146) => { - mbt_ffi_store8(iter_base + 0, 1) + match (payload107) { + None => { + mbt_ffi_store8((iter_base) + 144, (0)) - let ptr147 = mbt_ffi_str2ptr(payload146.span_id) - mbt_ffi_store32(iter_base + 12, payload146.span_id.length()) - mbt_ffi_store32(iter_base + 8, ptr147) - cleanup_list.push(ptr147) + () + } + Some(payload109) => { + mbt_ffi_store8((iter_base) + 144, (1)) + mbt_ffi_store64((iter_base) + 152, (payload109).reinterpret_as_int64()) - () - } - } - } - mbt_ffi_store32(iter_base + 92, payload124.invocation_context.length()) - mbt_ffi_store32(iter_base + 88, address148) - cleanup_list.push(ptr125) - cleanup_list.push(ptr130) - cleanup_list.push(address132) - cleanup_list.push(address148) - - () - } - AgentInvocationFinished(payload150) => { - mbt_ffi_store8(iter_base + 8, 5) - mbt_ffi_store64(iter_base + 16, payload150.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload150.timestamp.nanoseconds.reinterpret_as_int(), - ) - - match payload150.result { - Inline(payload151) => { - mbt_ffi_store8(iter_base + 32, 0) - - let ptr152 = mbt_ffi_bytes2ptr(payload151) - - mbt_ffi_store32(iter_base + 44, payload151.length()) - mbt_ffi_store32(iter_base + 40, ptr152) - cleanup_list.push(ptr152) - - () - } - External(payload153) => { - mbt_ffi_store8(iter_base + 32, 1) - mbt_ffi_store64( - iter_base + 40, - payload153.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload153.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr154 = mbt_ffi_bytes2ptr(payload153.md5_hash) - - mbt_ffi_store32(iter_base + 60, payload153.md5_hash.length()) - mbt_ffi_store32(iter_base + 56, ptr154) - cleanup_list.push(ptr154) - - () - } - } - - match payload150.method_name { - None => { - mbt_ffi_store8(iter_base + 64, 0) - - () - } - Some(payload156) => { - mbt_ffi_store8(iter_base + 64, 1) - - let ptr157 = mbt_ffi_str2ptr(payload156) - mbt_ffi_store32(iter_base + 72, payload156.length()) - mbt_ffi_store32(iter_base + 68, ptr157) - cleanup_list.push(ptr157) - - () - } - } - mbt_ffi_store64(iter_base + 80, payload150.consumed_fuel) - mbt_ffi_store64( - iter_base + 88, - payload150.component_revision.reinterpret_as_int64(), - ) - - () - } - Suspend(payload158) => { - mbt_ffi_store8(iter_base + 8, 6) - mbt_ffi_store64(iter_base + 16, payload158.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload158.timestamp.nanoseconds.reinterpret_as_int(), - ) - - () - } - Error(payload159) => { - mbt_ffi_store8(iter_base + 8, 7) - mbt_ffi_store64(iter_base + 16, payload159.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload159.timestamp.nanoseconds.reinterpret_as_int(), - ) - - match payload159.error { - Unknown(payload160) => { - mbt_ffi_store8(iter_base + 32, 0) - - let ptr161 = mbt_ffi_str2ptr(payload160) - mbt_ffi_store32(iter_base + 44, payload160.length()) - mbt_ffi_store32(iter_base + 40, ptr161) - cleanup_list.push(ptr161) - - () - } - InvalidRequest(payload162) => { - mbt_ffi_store8(iter_base + 32, 1) - - let ptr163 = mbt_ffi_str2ptr(payload162) - mbt_ffi_store32(iter_base + 44, payload162.length()) - mbt_ffi_store32(iter_base + 40, ptr163) - cleanup_list.push(ptr163) - - () - } - StackOverflow => { - mbt_ffi_store8(iter_base + 32, 2) - - () - } - OutOfMemory => { - mbt_ffi_store8(iter_base + 32, 3) - - () - } - ExceededMemoryLimit => { - mbt_ffi_store8(iter_base + 32, 4) - - () - } - InternalError(payload167) => { - mbt_ffi_store8(iter_base + 32, 5) - - let ptr168 = mbt_ffi_str2ptr(payload167) - mbt_ffi_store32(iter_base + 44, payload167.length()) - mbt_ffi_store32(iter_base + 40, ptr168) - cleanup_list.push(ptr168) - - () - } - DeterministicTrap(payload169) => { - mbt_ffi_store8(iter_base + 32, 6) - - let ptr170 = mbt_ffi_str2ptr(payload169) - mbt_ffi_store32(iter_base + 44, payload169.length()) - mbt_ffi_store32(iter_base + 40, ptr170) - cleanup_list.push(ptr170) - - () - } - TransientError(payload171) => { - mbt_ffi_store8(iter_base + 32, 7) - - let ptr172 = mbt_ffi_str2ptr(payload171) - mbt_ffi_store32(iter_base + 44, payload171.length()) - mbt_ffi_store32(iter_base + 40, ptr172) - cleanup_list.push(ptr172) - - () - } - PermanentError(payload173) => { - mbt_ffi_store8(iter_base + 32, 8) - - let ptr174 = mbt_ffi_str2ptr(payload173) - mbt_ffi_store32(iter_base + 44, payload173.length()) - mbt_ffi_store32(iter_base + 40, ptr174) - cleanup_list.push(ptr174) - - () - } - ExceededTableLimit => { - mbt_ffi_store8(iter_base + 32, 9) - - () - } - ExceededHttpCallLimit => { - mbt_ffi_store8(iter_base + 32, 10) - - () - } - ExceededRpcCallLimit => { - mbt_ffi_store8(iter_base + 32, 11) - - () - } - NodeOutOfFilesystemStorage => { - mbt_ffi_store8(iter_base + 32, 12) - - () - } - AgentExceededFilesystemStorageLimit => { - mbt_ffi_store8(iter_base + 32, 13) - - () - } - AgentTerminatedByQuota(payload180) => { - mbt_ffi_store8(iter_base + 32, 14) - mbt_ffi_store64( - iter_base + 40, - payload180.environment_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload180.environment_id.uuid.low_bits.reinterpret_as_int64(), - ) - - let ptr181 = mbt_ffi_str2ptr(payload180.resource_name) - mbt_ffi_store32(iter_base + 60, payload180.resource_name.length()) - mbt_ffi_store32(iter_base + 56, ptr181) - cleanup_list.push(ptr181) - - () - } - EphemeralSleepTooLong(payload182) => { - mbt_ffi_store8(iter_base + 32, 15) - mbt_ffi_store64( - iter_base + 40, - payload182.requested_nanos.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload182.max_nanos.reinterpret_as_int64(), - ) - - () - } - EphemeralFuelExhausted(payload183) => { - mbt_ffi_store8(iter_base + 32, 16) - mbt_ffi_store64( - iter_base + 40, - payload183.overdraft_limit.reinterpret_as_int64(), - ) - - () - } - EphemeralCannotSuspend(payload184) => { - mbt_ffi_store8(iter_base + 32, 17) - - let ptr185 = mbt_ffi_str2ptr(payload184.reason) - mbt_ffi_store32(iter_base + 44, payload184.reason.length()) - mbt_ffi_store32(iter_base + 40, ptr185) - cleanup_list.push(ptr185) - - () - } - ReadOnlyViolation(payload186) => { - mbt_ffi_store8(iter_base + 32, 18) - - let ptr187 = mbt_ffi_str2ptr(payload186.method_) - mbt_ffi_store32(iter_base + 44, payload186.method_.length()) - mbt_ffi_store32(iter_base + 40, ptr187) - - let ptr188 = mbt_ffi_str2ptr(payload186.host_function) - mbt_ffi_store32(iter_base + 52, payload186.host_function.length()) - mbt_ffi_store32(iter_base + 48, ptr188) - cleanup_list.push(ptr187) - cleanup_list.push(ptr188) - - () - } - } - mbt_ffi_store64( - iter_base + 64, - payload159.retry_from.reinterpret_as_int64(), - ) - mbt_ffi_store8( - iter_base + 72, - if payload159.inside_atomic_region { - 1 - } else { - 0 - }, - ) - - match payload159.retry_policy_state { - None => { - mbt_ffi_store8(iter_base + 76, 0) - - () - } - Some(payload190) => { - mbt_ffi_store8(iter_base + 76, 1) - - let address197 = mbt_ffi_malloc(payload190.nodes.length() * 16) - for index198 = 0 - index198 < payload190.nodes.length() - index198 = index198 + 1 { - let iter_elem : StateNode = payload190.nodes[index198] - let iter_base = address197 + index198 * 16 - - match iter_elem { - Counter(payload191) => { - mbt_ffi_store8(iter_base + 0, 0) - mbt_ffi_store32( - iter_base + 4, - payload191.reinterpret_as_int(), - ) - - () - } - Terminal => { - mbt_ffi_store8(iter_base + 0, 1) - - () - } - Wrapper(payload193) => { - mbt_ffi_store8(iter_base + 0, 2) - mbt_ffi_store32(iter_base + 4, payload193) - - () - } - CountBox(payload194) => { - mbt_ffi_store8(iter_base + 0, 3) - mbt_ffi_store32( - iter_base + 4, - payload194.attempts.reinterpret_as_int(), - ) - mbt_ffi_store32(iter_base + 8, payload194.inner) - - () - } - AndThen(payload195) => { - mbt_ffi_store8(iter_base + 0, 4) - mbt_ffi_store32(iter_base + 4, payload195.left) - mbt_ffi_store32(iter_base + 8, payload195.right) - mbt_ffi_store8( - iter_base + 12, - if payload195.on_right { - 1 - } else { - 0 - }, - ) - - () - } - Pair(payload196) => { - mbt_ffi_store8(iter_base + 0, 5) - mbt_ffi_store32(iter_base + 4, payload196.left) - mbt_ffi_store32(iter_base + 8, payload196.right) - - () - } - } - } - mbt_ffi_store32(iter_base + 84, payload190.nodes.length()) - mbt_ffi_store32(iter_base + 80, address197) - cleanup_list.push(address197) + () + } + } - () - } - } + () + } + } + cleanup_list.push(ptr89) - () - } - NoOp(payload199) => { - mbt_ffi_store8(iter_base + 8, 8) - mbt_ffi_store64(iter_base + 16, payload199.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload199.timestamp.nanoseconds.reinterpret_as_int(), - ) - - () - } - Jump(payload200) => { - mbt_ffi_store8(iter_base + 8, 9) - mbt_ffi_store64(iter_base + 16, payload200.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload200.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload200.jump.start.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload200.jump.end.reinterpret_as_int64(), - ) - - () - } - Interrupted(payload201) => { - mbt_ffi_store8(iter_base + 8, 10) - mbt_ffi_store64(iter_base + 16, payload201.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload201.timestamp.nanoseconds.reinterpret_as_int(), - ) - - () - } - Exited(payload202) => { - mbt_ffi_store8(iter_base + 8, 11) - mbt_ffi_store64(iter_base + 16, payload202.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload202.timestamp.nanoseconds.reinterpret_as_int(), - ) - - () - } - BeginAtomicRegion(payload203) => { - mbt_ffi_store8(iter_base + 8, 12) - mbt_ffi_store64(iter_base + 16, payload203.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload203.timestamp.nanoseconds.reinterpret_as_int(), - ) - - () - } - EndAtomicRegion(payload204) => { - mbt_ffi_store8(iter_base + 8, 13) - mbt_ffi_store64(iter_base + 16, payload204.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload204.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload204.begin_index.reinterpret_as_int64(), - ) - - () - } - PendingAgentInvocation(payload205) => { - mbt_ffi_store8(iter_base + 8, 14) - mbt_ffi_store64(iter_base + 16, payload205.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload205.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr206 = mbt_ffi_str2ptr(payload205.idempotency_key) - mbt_ffi_store32(iter_base + 36, payload205.idempotency_key.length()) - mbt_ffi_store32(iter_base + 32, ptr206) - - match payload205.payload { - Inline(payload207) => { - mbt_ffi_store8(iter_base + 40, 0) - - let ptr208 = mbt_ffi_bytes2ptr(payload207) - - mbt_ffi_store32(iter_base + 52, payload207.length()) - mbt_ffi_store32(iter_base + 48, ptr208) - cleanup_list.push(ptr208) - - () - } - External(payload209) => { - mbt_ffi_store8(iter_base + 40, 1) - mbt_ffi_store64( - iter_base + 48, - payload209.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 56, - payload209.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr210 = mbt_ffi_bytes2ptr(payload209.md5_hash) - - mbt_ffi_store32(iter_base + 68, payload209.md5_hash.length()) - mbt_ffi_store32(iter_base + 64, ptr210) - cleanup_list.push(ptr210) - - () - } - } - - let ptr211 = mbt_ffi_str2ptr(payload205.trace_id) - mbt_ffi_store32(iter_base + 76, payload205.trace_id.length()) - mbt_ffi_store32(iter_base + 72, ptr211) - - let address213 = mbt_ffi_malloc(payload205.trace_states.length() * 8) - for index214 = 0 - index214 < payload205.trace_states.length() - index214 = index214 + 1 { - let iter_elem : String = payload205.trace_states[index214] - let iter_base = address213 + index214 * 8 - - let ptr212 = mbt_ffi_str2ptr(iter_elem) - mbt_ffi_store32(iter_base + 4, iter_elem.length()) - mbt_ffi_store32(iter_base + 0, ptr212) - cleanup_list.push(ptr212) - } - mbt_ffi_store32(iter_base + 84, payload205.trace_states.length()) - mbt_ffi_store32(iter_base + 80, address213) - - let address229 = mbt_ffi_malloc( - payload205.invocation_context.length() * 80, - ) - for index230 = 0 - index230 < payload205.invocation_context.length() - index230 = index230 + 1 { - let iter_elem : SpanData = payload205.invocation_context[index230] - let iter_base = address229 + index230 * 80 - - match iter_elem { - LocalSpan(payload215) => { - mbt_ffi_store8(iter_base + 0, 0) - - let ptr216 = mbt_ffi_str2ptr(payload215.span_id) - mbt_ffi_store32(iter_base + 12, payload215.span_id.length()) - mbt_ffi_store32(iter_base + 8, ptr216) - mbt_ffi_store64(iter_base + 16, payload215.start.seconds) - mbt_ffi_store32( - iter_base + 24, - payload215.start.nanoseconds.reinterpret_as_int(), - ) - - match payload215.parent { - None => { - mbt_ffi_store8(iter_base + 32, 0) - - () - } - Some(payload218) => { - mbt_ffi_store8(iter_base + 32, 1) - - let ptr219 = mbt_ffi_str2ptr(payload218) - mbt_ffi_store32(iter_base + 40, payload218.length()) - mbt_ffi_store32(iter_base + 36, ptr219) - cleanup_list.push(ptr219) - - () - } - } - - match payload215.linked_context { - None => { - mbt_ffi_store8(iter_base + 48, 0) - - () - } - Some(payload221) => { - mbt_ffi_store8(iter_base + 48, 1) - mbt_ffi_store64( - iter_base + 56, - payload221.reinterpret_as_int64(), - ) - - () - } - } - - let address225 = mbt_ffi_malloc( - payload215.attributes.length() * 20, - ) - for index226 = 0 - index226 < payload215.attributes.length() - index226 = index226 + 1 { - let iter_elem : @context.Attribute = payload215.attributes[index226] - let iter_base = address225 + index226 * 20 - - let ptr222 = mbt_ffi_str2ptr(iter_elem.key) - mbt_ffi_store32(iter_base + 4, iter_elem.key.length()) - mbt_ffi_store32(iter_base + 0, ptr222) - - match iter_elem.value { - String(payload223) => { - mbt_ffi_store8(iter_base + 8, 0) - - let ptr224 = mbt_ffi_str2ptr(payload223) - mbt_ffi_store32(iter_base + 16, payload223.length()) - mbt_ffi_store32(iter_base + 12, ptr224) - cleanup_list.push(ptr224) - - () + () } - } - cleanup_list.push(ptr222) - } - mbt_ffi_store32(iter_base + 68, payload215.attributes.length()) - mbt_ffi_store32(iter_base + 64, address225) - mbt_ffi_store8( - iter_base + 72, - if payload215.inherited { - 1 - } else { - 0 - }, - ) - cleanup_list.push(ptr216) - cleanup_list.push(address225) - - () - } - ExternalSpan(payload227) => { - mbt_ffi_store8(iter_base + 0, 1) + End(payload110) => { + mbt_ffi_store8((iter_base) + 8, (2)) + mbt_ffi_store64((iter_base) + 16, ((payload110).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload110).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload110).start_index).reinterpret_as_int64()) - let ptr228 = mbt_ffi_str2ptr(payload227.span_id) - mbt_ffi_store32(iter_base + 12, payload227.span_id.length()) - mbt_ffi_store32(iter_base + 8, ptr228) - cleanup_list.push(ptr228) + match ((payload110).response) { + None => { + mbt_ffi_store8((iter_base) + 40, (0)) - () - } - } - } - mbt_ffi_store32(iter_base + 92, payload205.invocation_context.length()) - mbt_ffi_store32(iter_base + 88, address229) - cleanup_list.push(ptr206) - cleanup_list.push(ptr211) - cleanup_list.push(address213) - cleanup_list.push(address229) - - () - } - PendingUpdate(payload231) => { - mbt_ffi_store8(iter_base + 8, 15) - mbt_ffi_store64(iter_base + 16, payload231.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload231.timestamp.nanoseconds.reinterpret_as_int(), - ) - - match payload231.description { - Automatic(payload232) => { - mbt_ffi_store8(iter_base + 32, 0) - mbt_ffi_store64(iter_base + 40, payload232.reinterpret_as_int64()) - - () - } - SnapshotBased(payload233) => { - mbt_ffi_store8(iter_base + 32, 1) - mbt_ffi_store64( - iter_base + 40, - payload233.target_revision.reinterpret_as_int64(), - ) - - match payload233.payload { - Inline(payload234) => { - mbt_ffi_store8(iter_base + 48, 0) - - let ptr235 = mbt_ffi_bytes2ptr(payload234) - - mbt_ffi_store32(iter_base + 60, payload234.length()) - mbt_ffi_store32(iter_base + 56, ptr235) - cleanup_list.push(ptr235) - - () - } - External(payload236) => { - mbt_ffi_store8(iter_base + 48, 1) - mbt_ffi_store64( - iter_base + 56, - payload236.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 64, - payload236.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr237 = mbt_ffi_bytes2ptr(payload236.md5_hash) - - mbt_ffi_store32(iter_base + 76, payload236.md5_hash.length()) - mbt_ffi_store32(iter_base + 72, ptr237) - cleanup_list.push(ptr237) - - () - } - } + () + } + Some(payload112) => { + mbt_ffi_store8((iter_base) + 40, (1)) - let ptr238 = mbt_ffi_str2ptr(payload233.mime_type) - mbt_ffi_store32(iter_base + 84, payload233.mime_type.length()) - mbt_ffi_store32(iter_base + 80, ptr238) - cleanup_list.push(ptr238) + match payload112 { + Inline(payload113) => { + mbt_ffi_store8((iter_base) + 48, (0)) - () - } - } + let ptr114 = mbt_ffi_bytes2ptr(payload113) - () - } - SuccessfulUpdate(payload239) => { - mbt_ffi_store8(iter_base + 8, 16) - mbt_ffi_store64(iter_base + 16, payload239.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload239.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload239.target_revision.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload239.new_component_size.reinterpret_as_int64(), - ) - - let address240 = mbt_ffi_malloc( - payload239.new_active_plugins.length() * 16, - ) - for index241 = 0 - index241 < payload239.new_active_plugins.length() - index241 = index241 + 1 { - let iter_elem : EnvironmentPluginGrantId = payload239.new_active_plugins[index241] - let iter_base = address240 + index241 * 16 - mbt_ffi_store64( - iter_base + 0, - iter_elem.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 8, - iter_elem.uuid.low_bits.reinterpret_as_int64(), - ) - } - mbt_ffi_store32(iter_base + 52, payload239.new_active_plugins.length()) - mbt_ffi_store32(iter_base + 48, address240) - cleanup_list.push(address240) - - () - } - FailedUpdate(payload242) => { - mbt_ffi_store8(iter_base + 8, 17) - mbt_ffi_store64(iter_base + 16, payload242.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload242.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload242.target_revision.reinterpret_as_int64(), - ) - - match payload242.details { - None => { - mbt_ffi_store8(iter_base + 40, 0) - - () - } - Some(payload244) => { - mbt_ffi_store8(iter_base + 40, 1) - - let ptr245 = mbt_ffi_str2ptr(payload244) - mbt_ffi_store32(iter_base + 48, payload244.length()) - mbt_ffi_store32(iter_base + 44, ptr245) - cleanup_list.push(ptr245) - - () - } - } - - () - } - GrowMemory(payload246) => { - mbt_ffi_store8(iter_base + 8, 18) - mbt_ffi_store64(iter_base + 16, payload246.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload246.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64(iter_base + 32, payload246.delta.reinterpret_as_int64()) - - () - } - FilesystemStorageUsageUpdate(payload247) => { - mbt_ffi_store8(iter_base + 8, 19) - mbt_ffi_store64(iter_base + 16, payload247.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload247.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64(iter_base + 32, payload247.delta) - - () - } - CreateResource(payload248) => { - mbt_ffi_store8(iter_base + 8, 20) - mbt_ffi_store64(iter_base + 16, payload248.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload248.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64(iter_base + 32, payload248.id.reinterpret_as_int64()) - - let ptr249 = mbt_ffi_str2ptr(payload248.resource_type_id.name) - mbt_ffi_store32( - iter_base + 44, - payload248.resource_type_id.name.length(), - ) - mbt_ffi_store32(iter_base + 40, ptr249) - - let ptr250 = mbt_ffi_str2ptr(payload248.resource_type_id.owner) - mbt_ffi_store32( - iter_base + 52, - payload248.resource_type_id.owner.length(), - ) - mbt_ffi_store32(iter_base + 48, ptr250) - cleanup_list.push(ptr249) - cleanup_list.push(ptr250) - - () - } - DropResource(payload251) => { - mbt_ffi_store8(iter_base + 8, 21) - mbt_ffi_store64(iter_base + 16, payload251.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload251.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64(iter_base + 32, payload251.id.reinterpret_as_int64()) - - let ptr252 = mbt_ffi_str2ptr(payload251.resource_type_id.name) - mbt_ffi_store32( - iter_base + 44, - payload251.resource_type_id.name.length(), - ) - mbt_ffi_store32(iter_base + 40, ptr252) - - let ptr253 = mbt_ffi_str2ptr(payload251.resource_type_id.owner) - mbt_ffi_store32( - iter_base + 52, - payload251.resource_type_id.owner.length(), - ) - mbt_ffi_store32(iter_base + 48, ptr253) - cleanup_list.push(ptr252) - cleanup_list.push(ptr253) - - () - } - Log(payload254) => { - mbt_ffi_store8(iter_base + 8, 22) - mbt_ffi_store64(iter_base + 16, payload254.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload254.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store8(iter_base + 32, payload254.level.ordinal()) - - let ptr255 = mbt_ffi_str2ptr(payload254.context) - mbt_ffi_store32(iter_base + 40, payload254.context.length()) - mbt_ffi_store32(iter_base + 36, ptr255) - - let ptr256 = mbt_ffi_str2ptr(payload254.message) - mbt_ffi_store32(iter_base + 48, payload254.message.length()) - mbt_ffi_store32(iter_base + 44, ptr256) - cleanup_list.push(ptr255) - cleanup_list.push(ptr256) - - () - } - Restart(payload257) => { - mbt_ffi_store8(iter_base + 8, 23) - mbt_ffi_store64(iter_base + 16, payload257.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload257.timestamp.nanoseconds.reinterpret_as_int(), - ) - - () - } - ActivatePlugin(payload258) => { - mbt_ffi_store8(iter_base + 8, 24) - mbt_ffi_store64(iter_base + 16, payload258.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload258.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload258.plugin_grant_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload258.plugin_grant_id.uuid.low_bits.reinterpret_as_int64(), - ) - - () - } - DeactivatePlugin(payload259) => { - mbt_ffi_store8(iter_base + 8, 25) - mbt_ffi_store64(iter_base + 16, payload259.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload259.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload259.plugin_grant_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload259.plugin_grant_id.uuid.low_bits.reinterpret_as_int64(), - ) - - () - } - Revert(payload260) => { - mbt_ffi_store8(iter_base + 8, 26) - mbt_ffi_store64(iter_base + 16, payload260.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload260.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload260.dropped_region.start.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload260.dropped_region.end.reinterpret_as_int64(), - ) - - () - } - CancelPendingInvocation(payload261) => { - mbt_ffi_store8(iter_base + 8, 27) - mbt_ffi_store64(iter_base + 16, payload261.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload261.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr262 = mbt_ffi_str2ptr(payload261.idempotency_key) - mbt_ffi_store32(iter_base + 36, payload261.idempotency_key.length()) - mbt_ffi_store32(iter_base + 32, ptr262) - cleanup_list.push(ptr262) - - () - } - StartSpan(payload263) => { - mbt_ffi_store8(iter_base + 8, 28) - mbt_ffi_store64(iter_base + 16, payload263.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload263.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr264 = mbt_ffi_str2ptr(payload263.span_id) - mbt_ffi_store32(iter_base + 36, payload263.span_id.length()) - mbt_ffi_store32(iter_base + 32, ptr264) - - match payload263.parent { - None => { - mbt_ffi_store8(iter_base + 40, 0) - - () - } - Some(payload266) => { - mbt_ffi_store8(iter_base + 40, 1) - - let ptr267 = mbt_ffi_str2ptr(payload266) - mbt_ffi_store32(iter_base + 48, payload266.length()) - mbt_ffi_store32(iter_base + 44, ptr267) - cleanup_list.push(ptr267) - - () - } - } - - match payload263.linked_context_id { - None => { - mbt_ffi_store8(iter_base + 52, 0) - - () - } - Some(payload269) => { - mbt_ffi_store8(iter_base + 52, 1) - - let ptr270 = mbt_ffi_str2ptr(payload269) - mbt_ffi_store32(iter_base + 60, payload269.length()) - mbt_ffi_store32(iter_base + 56, ptr270) - cleanup_list.push(ptr270) - - () - } - } - - let address274 = mbt_ffi_malloc(payload263.attributes.length() * 20) - for index275 = 0 - index275 < payload263.attributes.length() - index275 = index275 + 1 { - let iter_elem : @context.Attribute = payload263.attributes[index275] - let iter_base = address274 + index275 * 20 - - let ptr271 = mbt_ffi_str2ptr(iter_elem.key) - mbt_ffi_store32(iter_base + 4, iter_elem.key.length()) - mbt_ffi_store32(iter_base + 0, ptr271) - - match iter_elem.value { - String(payload272) => { - mbt_ffi_store8(iter_base + 8, 0) - - let ptr273 = mbt_ffi_str2ptr(payload272) - mbt_ffi_store32(iter_base + 16, payload272.length()) - mbt_ffi_store32(iter_base + 12, ptr273) - cleanup_list.push(ptr273) - - () - } - } - cleanup_list.push(ptr271) - } - mbt_ffi_store32(iter_base + 68, payload263.attributes.length()) - mbt_ffi_store32(iter_base + 64, address274) - cleanup_list.push(ptr264) - cleanup_list.push(address274) - - () - } - FinishSpan(payload276) => { - mbt_ffi_store8(iter_base + 8, 29) - mbt_ffi_store64(iter_base + 16, payload276.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload276.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr277 = mbt_ffi_str2ptr(payload276.span_id) - mbt_ffi_store32(iter_base + 36, payload276.span_id.length()) - mbt_ffi_store32(iter_base + 32, ptr277) - cleanup_list.push(ptr277) - - () - } - SetSpanAttribute(payload278) => { - mbt_ffi_store8(iter_base + 8, 30) - mbt_ffi_store64(iter_base + 16, payload278.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload278.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr279 = mbt_ffi_str2ptr(payload278.span_id) - mbt_ffi_store32(iter_base + 36, payload278.span_id.length()) - mbt_ffi_store32(iter_base + 32, ptr279) - - let ptr280 = mbt_ffi_str2ptr(payload278.key) - mbt_ffi_store32(iter_base + 44, payload278.key.length()) - mbt_ffi_store32(iter_base + 40, ptr280) - - match payload278.value { - String(payload281) => { - mbt_ffi_store8(iter_base + 48, 0) - - let ptr282 = mbt_ffi_str2ptr(payload281) - mbt_ffi_store32(iter_base + 56, payload281.length()) - mbt_ffi_store32(iter_base + 52, ptr282) - cleanup_list.push(ptr282) - - () - } - } - cleanup_list.push(ptr279) - cleanup_list.push(ptr280) - - () - } - BeginRemoteTransaction(payload283) => { - mbt_ffi_store8(iter_base + 8, 31) - mbt_ffi_store64(iter_base + 16, payload283.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload283.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr284 = mbt_ffi_str2ptr(payload283.transaction_id) - mbt_ffi_store32(iter_base + 36, payload283.transaction_id.length()) - mbt_ffi_store32(iter_base + 32, ptr284) - - match payload283.original_begin_index { - None => { - mbt_ffi_store8(iter_base + 40, 0) - - () - } - Some(payload286) => { - mbt_ffi_store8(iter_base + 40, 1) - mbt_ffi_store64(iter_base + 48, payload286.reinterpret_as_int64()) - - () - } - } - cleanup_list.push(ptr284) - - () - } - PreCommitRemoteTransaction(payload287) => { - mbt_ffi_store8(iter_base + 8, 32) - mbt_ffi_store64(iter_base + 16, payload287.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload287.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload287.begin_index.reinterpret_as_int64(), - ) - - () - } - PreRollbackRemoteTransaction(payload288) => { - mbt_ffi_store8(iter_base + 8, 33) - mbt_ffi_store64(iter_base + 16, payload288.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload288.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload288.begin_index.reinterpret_as_int64(), - ) - - () - } - CommittedRemoteTransaction(payload289) => { - mbt_ffi_store8(iter_base + 8, 34) - mbt_ffi_store64(iter_base + 16, payload289.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload289.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload289.begin_index.reinterpret_as_int64(), - ) - - () - } - RolledBackRemoteTransaction(payload290) => { - mbt_ffi_store8(iter_base + 8, 35) - mbt_ffi_store64(iter_base + 16, payload290.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload290.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload290.begin_index.reinterpret_as_int64(), - ) - - () - } - Snapshot(payload291) => { - mbt_ffi_store8(iter_base + 8, 36) - mbt_ffi_store64(iter_base + 16, payload291.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload291.timestamp.nanoseconds.reinterpret_as_int(), - ) - - match payload291.data { - Inline(payload292) => { - mbt_ffi_store8(iter_base + 32, 0) - - let ptr293 = mbt_ffi_bytes2ptr(payload292) - - mbt_ffi_store32(iter_base + 44, payload292.length()) - mbt_ffi_store32(iter_base + 40, ptr293) - cleanup_list.push(ptr293) - - () - } - External(payload294) => { - mbt_ffi_store8(iter_base + 32, 1) - mbt_ffi_store64( - iter_base + 40, - payload294.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload294.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr295 = mbt_ffi_bytes2ptr(payload294.md5_hash) - - mbt_ffi_store32(iter_base + 60, payload294.md5_hash.length()) - mbt_ffi_store32(iter_base + 56, ptr295) - cleanup_list.push(ptr295) - - () - } - } - - let ptr296 = mbt_ffi_str2ptr(payload291.mime_type) - mbt_ffi_store32(iter_base + 68, payload291.mime_type.length()) - mbt_ffi_store32(iter_base + 64, ptr296) - cleanup_list.push(ptr296) - - () - } - OplogProcessorCheckpoint(payload297) => { - mbt_ffi_store8(iter_base + 8, 37) - mbt_ffi_store64(iter_base + 16, payload297.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload297.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload297.plugin_grant_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload297.plugin_grant_id.uuid.low_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload297.target_agent_id.component_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 56, - payload297.target_agent_id.component_id.uuid.low_bits.reinterpret_as_int64(), - ) - - let ptr298 = mbt_ffi_str2ptr(payload297.target_agent_id.agent_id) - mbt_ffi_store32( - iter_base + 68, - payload297.target_agent_id.agent_id.length(), - ) - mbt_ffi_store32(iter_base + 64, ptr298) - mbt_ffi_store64( - iter_base + 72, - payload297.confirmed_up_to.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 80, - payload297.sending_up_to.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 88, - payload297.last_batch_start.reinterpret_as_int64(), - ) - cleanup_list.push(ptr298) - - () - } - SetRetryPolicy(payload299) => { - mbt_ffi_store8(iter_base + 8, 38) - mbt_ffi_store64(iter_base + 16, payload299.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload299.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr300 = mbt_ffi_str2ptr(payload299.policy.name) - mbt_ffi_store32(iter_base + 36, payload299.policy.name.length()) - mbt_ffi_store32(iter_base + 32, ptr300) - mbt_ffi_store32( - iter_base + 40, - payload299.policy.priority.reinterpret_as_int(), - ) - - let address361 = mbt_ffi_malloc( - payload299.policy.predicate.nodes.length() * 32, - ) - for index362 = 0 - index362 < payload299.policy.predicate.nodes.length() - index362 = index362 + 1 { - let iter_elem : @retry.PredicateNode = payload299.policy.predicate.nodes[index362] - let iter_base = address361 + index362 * 32 - - match iter_elem { - PropEq(payload301) => { - mbt_ffi_store8(iter_base + 0, 0) - - let ptr302 = mbt_ffi_str2ptr(payload301.property_name) - mbt_ffi_store32(iter_base + 12, payload301.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr302) - - match payload301.value { - Text(payload303) => { - mbt_ffi_store8(iter_base + 16, 0) - - let ptr304 = mbt_ffi_str2ptr(payload303) - mbt_ffi_store32(iter_base + 28, payload303.length()) - mbt_ffi_store32(iter_base + 24, ptr304) - cleanup_list.push(ptr304) - - () - } - Integer(payload305) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload305) - - () - } - Boolean(payload306) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8(iter_base + 24, if payload306 { 1 } else { 0 }) - - () - } - } - cleanup_list.push(ptr302) - - () - } - PropNeq(payload307) => { - mbt_ffi_store8(iter_base + 0, 1) - - let ptr308 = mbt_ffi_str2ptr(payload307.property_name) - mbt_ffi_store32(iter_base + 12, payload307.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr308) - - match payload307.value { - Text(payload309) => { - mbt_ffi_store8(iter_base + 16, 0) - - let ptr310 = mbt_ffi_str2ptr(payload309) - mbt_ffi_store32(iter_base + 28, payload309.length()) - mbt_ffi_store32(iter_base + 24, ptr310) - cleanup_list.push(ptr310) - - () - } - Integer(payload311) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload311) - - () - } - Boolean(payload312) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8(iter_base + 24, if payload312 { 1 } else { 0 }) - - () - } - } - cleanup_list.push(ptr308) - - () - } - PropGt(payload313) => { - mbt_ffi_store8(iter_base + 0, 2) - - let ptr314 = mbt_ffi_str2ptr(payload313.property_name) - mbt_ffi_store32(iter_base + 12, payload313.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr314) - - match payload313.value { - Text(payload315) => { - mbt_ffi_store8(iter_base + 16, 0) - - let ptr316 = mbt_ffi_str2ptr(payload315) - mbt_ffi_store32(iter_base + 28, payload315.length()) - mbt_ffi_store32(iter_base + 24, ptr316) - cleanup_list.push(ptr316) - - () - } - Integer(payload317) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload317) - - () - } - Boolean(payload318) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8(iter_base + 24, if payload318 { 1 } else { 0 }) - - () - } - } - cleanup_list.push(ptr314) - - () - } - PropGte(payload319) => { - mbt_ffi_store8(iter_base + 0, 3) - - let ptr320 = mbt_ffi_str2ptr(payload319.property_name) - mbt_ffi_store32(iter_base + 12, payload319.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr320) - - match payload319.value { - Text(payload321) => { - mbt_ffi_store8(iter_base + 16, 0) - - let ptr322 = mbt_ffi_str2ptr(payload321) - mbt_ffi_store32(iter_base + 28, payload321.length()) - mbt_ffi_store32(iter_base + 24, ptr322) - cleanup_list.push(ptr322) - - () - } - Integer(payload323) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload323) - - () - } - Boolean(payload324) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8(iter_base + 24, if payload324 { 1 } else { 0 }) - - () - } - } - cleanup_list.push(ptr320) - - () - } - PropLt(payload325) => { - mbt_ffi_store8(iter_base + 0, 4) - - let ptr326 = mbt_ffi_str2ptr(payload325.property_name) - mbt_ffi_store32(iter_base + 12, payload325.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr326) - - match payload325.value { - Text(payload327) => { - mbt_ffi_store8(iter_base + 16, 0) - - let ptr328 = mbt_ffi_str2ptr(payload327) - mbt_ffi_store32(iter_base + 28, payload327.length()) - mbt_ffi_store32(iter_base + 24, ptr328) - cleanup_list.push(ptr328) - - () - } - Integer(payload329) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload329) - - () - } - Boolean(payload330) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8(iter_base + 24, if payload330 { 1 } else { 0 }) - - () - } - } - cleanup_list.push(ptr326) - - () - } - PropLte(payload331) => { - mbt_ffi_store8(iter_base + 0, 5) - - let ptr332 = mbt_ffi_str2ptr(payload331.property_name) - mbt_ffi_store32(iter_base + 12, payload331.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr332) - - match payload331.value { - Text(payload333) => { - mbt_ffi_store8(iter_base + 16, 0) - - let ptr334 = mbt_ffi_str2ptr(payload333) - mbt_ffi_store32(iter_base + 28, payload333.length()) - mbt_ffi_store32(iter_base + 24, ptr334) - cleanup_list.push(ptr334) - - () - } - Integer(payload335) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload335) - - () - } - Boolean(payload336) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8(iter_base + 24, if payload336 { 1 } else { 0 }) - - () - } - } - cleanup_list.push(ptr332) - - () - } - PropExists(payload337) => { - mbt_ffi_store8(iter_base + 0, 6) + mbt_ffi_store32((iter_base) + 60, payload113.length()) + mbt_ffi_store32((iter_base) + 56, ptr114) + cleanup_list.push(ptr114) - let ptr338 = mbt_ffi_str2ptr(payload337) - mbt_ffi_store32(iter_base + 12, payload337.length()) - mbt_ffi_store32(iter_base + 8, ptr338) - cleanup_list.push(ptr338) + () + } + External(payload115) => { + mbt_ffi_store8((iter_base) + 48, (1)) + mbt_ffi_store64((iter_base) + 56, (((payload115).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 64, (((payload115).payload_id).low_bits).reinterpret_as_int64()) - () - } - PropIn(payload339) => { - mbt_ffi_store8(iter_base + 0, 7) - - let ptr340 = mbt_ffi_str2ptr(payload339.property_name) - mbt_ffi_store32(iter_base + 12, payload339.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr340) - - let address345 = mbt_ffi_malloc(payload339.values.length() * 16) - for index346 = 0 - index346 < payload339.values.length() - index346 = index346 + 1 { - let iter_elem : @retry.PredicateValue = payload339.values[index346] - let iter_base = address345 + index346 * 16 - - match iter_elem { - Text(payload341) => { - mbt_ffi_store8(iter_base + 0, 0) - - let ptr342 = mbt_ffi_str2ptr(payload341) - mbt_ffi_store32(iter_base + 12, payload341.length()) - mbt_ffi_store32(iter_base + 8, ptr342) - cleanup_list.push(ptr342) - - () - } - Integer(payload343) => { - mbt_ffi_store8(iter_base + 0, 1) - mbt_ffi_store64(iter_base + 8, payload343) + let ptr116 = mbt_ffi_bytes2ptr((payload115).md5_hash) - () - } - Boolean(payload344) => { - mbt_ffi_store8(iter_base + 0, 2) - mbt_ffi_store8( - iter_base + 8, - if payload344 { - 1 - } else { - 0 - }, - ) - - () - } - } - } - mbt_ffi_store32(iter_base + 20, payload339.values.length()) - mbt_ffi_store32(iter_base + 16, address345) - cleanup_list.push(ptr340) - cleanup_list.push(address345) - - () - } - PropMatches(payload347) => { - mbt_ffi_store8(iter_base + 0, 8) + mbt_ffi_store32((iter_base) + 76, (payload115).md5_hash.length()) + mbt_ffi_store32((iter_base) + 72, ptr116) + cleanup_list.push(ptr116) - let ptr348 = mbt_ffi_str2ptr(payload347.property_name) - mbt_ffi_store32(iter_base + 12, payload347.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr348) + () + } + } - let ptr349 = mbt_ffi_str2ptr(payload347.pattern) - mbt_ffi_store32(iter_base + 20, payload347.pattern.length()) - mbt_ffi_store32(iter_base + 16, ptr349) - cleanup_list.push(ptr348) - cleanup_list.push(ptr349) + () + } + } + mbt_ffi_store8((iter_base) + 80, (if (payload110).forced_commit { 1 } else { 0 })) - () - } - PropStartsWith(payload350) => { - mbt_ffi_store8(iter_base + 0, 9) + () + } + Cancelled(payload117) => { + mbt_ffi_store8((iter_base) + 8, (3)) + mbt_ffi_store64((iter_base) + 16, ((payload117).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload117).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload117).start_index).reinterpret_as_int64()) - let ptr351 = mbt_ffi_str2ptr(payload350.property_name) - mbt_ffi_store32(iter_base + 12, payload350.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr351) + match ((payload117).partial) { + None => { + mbt_ffi_store8((iter_base) + 40, (0)) - let ptr352 = mbt_ffi_str2ptr(payload350.pattern) - mbt_ffi_store32(iter_base + 20, payload350.pattern.length()) - mbt_ffi_store32(iter_base + 16, ptr352) - cleanup_list.push(ptr351) - cleanup_list.push(ptr352) + () + } + Some(payload119) => { + mbt_ffi_store8((iter_base) + 40, (1)) - () - } - PropContains(payload353) => { - mbt_ffi_store8(iter_base + 0, 10) + match payload119 { + Inline(payload120) => { + mbt_ffi_store8((iter_base) + 48, (0)) - let ptr354 = mbt_ffi_str2ptr(payload353.property_name) - mbt_ffi_store32(iter_base + 12, payload353.property_name.length()) - mbt_ffi_store32(iter_base + 8, ptr354) + let ptr121 = mbt_ffi_bytes2ptr(payload120) - let ptr355 = mbt_ffi_str2ptr(payload353.pattern) - mbt_ffi_store32(iter_base + 20, payload353.pattern.length()) - mbt_ffi_store32(iter_base + 16, ptr355) - cleanup_list.push(ptr354) - cleanup_list.push(ptr355) + mbt_ffi_store32((iter_base) + 60, payload120.length()) + mbt_ffi_store32((iter_base) + 56, ptr121) + cleanup_list.push(ptr121) - () - } - PredAnd(payload356) => { - mbt_ffi_store8(iter_base + 0, 11) - mbt_ffi_store32(iter_base + 8, payload356.0) - mbt_ffi_store32(iter_base + 12, payload356.1) + () + } + External(payload122) => { + mbt_ffi_store8((iter_base) + 48, (1)) + mbt_ffi_store64((iter_base) + 56, (((payload122).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 64, (((payload122).payload_id).low_bits).reinterpret_as_int64()) - () - } - PredOr(payload357) => { - mbt_ffi_store8(iter_base + 0, 12) - mbt_ffi_store32(iter_base + 8, payload357.0) - mbt_ffi_store32(iter_base + 12, payload357.1) + let ptr123 = mbt_ffi_bytes2ptr((payload122).md5_hash) - () - } - PredNot(payload358) => { - mbt_ffi_store8(iter_base + 0, 13) - mbt_ffi_store32(iter_base + 8, payload358) + mbt_ffi_store32((iter_base) + 76, (payload122).md5_hash.length()) + mbt_ffi_store32((iter_base) + 72, ptr123) + cleanup_list.push(ptr123) - () - } - PredTrue => { - mbt_ffi_store8(iter_base + 0, 14) + () + } + } - () - } - PredFalse => { - mbt_ffi_store8(iter_base + 0, 15) + () + } + } - () - } - } - } - mbt_ffi_store32( - iter_base + 48, - payload299.policy.predicate.nodes.length(), - ) - mbt_ffi_store32(iter_base + 44, address361) - - let address439 = mbt_ffi_malloc( - payload299.policy.policy.nodes.length() * 32, - ) - for index440 = 0 - index440 < payload299.policy.policy.nodes.length() - index440 = index440 + 1 { - let iter_elem : @retry.PolicyNode = payload299.policy.policy.nodes[index440] - let iter_base = address439 + index440 * 32 - - match iter_elem { - Periodic(payload363) => { - mbt_ffi_store8(iter_base + 0, 0) - mbt_ffi_store64(iter_base + 8, payload363.reinterpret_as_int64()) - - () - } - Exponential(payload364) => { - mbt_ffi_store8(iter_base + 0, 1) - mbt_ffi_store64( - iter_base + 8, - payload364.base_delay.reinterpret_as_int64(), - ) - mbt_ffi_storef64(iter_base + 16, payload364.factor) - - () - } - Fibonacci(payload365) => { - mbt_ffi_store8(iter_base + 0, 2) - mbt_ffi_store64( - iter_base + 8, - payload365.first.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 16, - payload365.second.reinterpret_as_int64(), - ) - - () - } - Immediate => { - mbt_ffi_store8(iter_base + 0, 3) + () + } + AgentInvocationStarted(payload124) => { + mbt_ffi_store8((iter_base) + 8, (4)) + mbt_ffi_store64((iter_base) + 16, ((payload124).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload124).timestamp).nanoseconds).reinterpret_as_int()) - () - } - Never => { - mbt_ffi_store8(iter_base + 0, 4) + let ptr125 = mbt_ffi_str2ptr((payload124).idempotency_key) + mbt_ffi_store32((iter_base) + 36, (payload124).idempotency_key.length()) + mbt_ffi_store32((iter_base) + 32, ptr125) - () - } - CountBox(payload368) => { - mbt_ffi_store8(iter_base + 0, 5) - mbt_ffi_store32( - iter_base + 8, - payload368.max_retries.reinterpret_as_int(), - ) - mbt_ffi_store32(iter_base + 12, payload368.inner) - - () - } - TimeBox(payload369) => { - mbt_ffi_store8(iter_base + 0, 6) - mbt_ffi_store64( - iter_base + 8, - payload369.limit.reinterpret_as_int64(), - ) - mbt_ffi_store32(iter_base + 16, payload369.inner) - - () - } - ClampDelay(payload370) => { - mbt_ffi_store8(iter_base + 0, 7) - mbt_ffi_store64( - iter_base + 8, - payload370.min_delay.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 16, - payload370.max_delay.reinterpret_as_int64(), - ) - mbt_ffi_store32(iter_base + 24, payload370.inner) - - () - } - AddDelay(payload371) => { - mbt_ffi_store8(iter_base + 0, 8) - mbt_ffi_store64( - iter_base + 8, - payload371.delay.reinterpret_as_int64(), - ) - mbt_ffi_store32(iter_base + 16, payload371.inner) - - () - } - Jitter(payload372) => { - mbt_ffi_store8(iter_base + 0, 9) - mbt_ffi_storef64(iter_base + 8, payload372.factor) - mbt_ffi_store32(iter_base + 16, payload372.inner) + match (payload124).payload { + Inline(payload126) => { + mbt_ffi_store8((iter_base) + 40, (0)) - () - } - FilteredOn(payload373) => { - mbt_ffi_store8(iter_base + 0, 10) - - let address434 = mbt_ffi_malloc( - payload373.predicate.nodes.length() * 32, - ) - for index435 = 0 - index435 < payload373.predicate.nodes.length() - index435 = index435 + 1 { - let iter_elem : @retry.PredicateNode = payload373.predicate.nodes[index435] - let iter_base = address434 + index435 * 32 - - match iter_elem { - PropEq(payload374) => { - mbt_ffi_store8(iter_base + 0, 0) - - let ptr375 = mbt_ffi_str2ptr(payload374.property_name) - mbt_ffi_store32( - iter_base + 12, - payload374.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr375) - - match payload374.value { - Text(payload376) => { - mbt_ffi_store8(iter_base + 16, 0) - - let ptr377 = mbt_ffi_str2ptr(payload376) - mbt_ffi_store32(iter_base + 28, payload376.length()) - mbt_ffi_store32(iter_base + 24, ptr377) - cleanup_list.push(ptr377) + let ptr127 = mbt_ffi_bytes2ptr(payload126) - () - } - Integer(payload378) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload378) + mbt_ffi_store32((iter_base) + 52, payload126.length()) + mbt_ffi_store32((iter_base) + 48, ptr127) + cleanup_list.push(ptr127) - () - } - Boolean(payload379) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8( - iter_base + 24, - if payload379 { - 1 - } else { - 0 - }, - ) + () + } + External(payload128) => { + mbt_ffi_store8((iter_base) + 40, (1)) + mbt_ffi_store64((iter_base) + 48, (((payload128).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 56, (((payload128).payload_id).low_bits).reinterpret_as_int64()) - () - } - } - cleanup_list.push(ptr375) + let ptr129 = mbt_ffi_bytes2ptr((payload128).md5_hash) - () - } - PropNeq(payload380) => { - mbt_ffi_store8(iter_base + 0, 1) + mbt_ffi_store32((iter_base) + 68, (payload128).md5_hash.length()) + mbt_ffi_store32((iter_base) + 64, ptr129) + cleanup_list.push(ptr129) + + () + } + } - let ptr381 = mbt_ffi_str2ptr(payload380.property_name) - mbt_ffi_store32( - iter_base + 12, - payload380.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr381) + let ptr130 = mbt_ffi_str2ptr((payload124).trace_id) + mbt_ffi_store32((iter_base) + 76, (payload124).trace_id.length()) + mbt_ffi_store32((iter_base) + 72, ptr130) - match payload380.value { - Text(payload382) => { - mbt_ffi_store8(iter_base + 16, 0) + let address132 = mbt_ffi_malloc(((payload124).trace_states).length() * 8); + for index133 = 0; index133 < ((payload124).trace_states).length(); index133 = index133 + 1 { + let iter_elem : String = ((payload124).trace_states)[(index133)] + let iter_base = address132 + (index133 * 8); - let ptr383 = mbt_ffi_str2ptr(payload382) - mbt_ffi_store32(iter_base + 28, payload382.length()) - mbt_ffi_store32(iter_base + 24, ptr383) - cleanup_list.push(ptr383) + let ptr131 = mbt_ffi_str2ptr(iter_elem) + mbt_ffi_store32((iter_base) + 4, iter_elem.length()) + mbt_ffi_store32((iter_base) + 0, ptr131) + cleanup_list.push(ptr131) - () - } - Integer(payload384) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload384) + } + mbt_ffi_store32((iter_base) + 84, ((payload124).trace_states).length()) + mbt_ffi_store32((iter_base) + 80, address132) - () - } - Boolean(payload385) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8( - iter_base + 24, - if payload385 { - 1 - } else { - 0 - }, - ) + let address148 = mbt_ffi_malloc(((payload124).invocation_context).length() * 80); + for index149 = 0; index149 < ((payload124).invocation_context).length(); index149 = index149 + 1 { + let iter_elem : SpanData = ((payload124).invocation_context)[(index149)] + let iter_base = address148 + (index149 * 80); - () - } - } - cleanup_list.push(ptr381) + match iter_elem { + LocalSpan(payload134) => { + mbt_ffi_store8((iter_base) + 0, (0)) - () - } - PropGt(payload386) => { - mbt_ffi_store8(iter_base + 0, 2) + let ptr135 = mbt_ffi_str2ptr((payload134).span_id) + mbt_ffi_store32((iter_base) + 12, (payload134).span_id.length()) + mbt_ffi_store32((iter_base) + 8, ptr135) + mbt_ffi_store64((iter_base) + 16, ((payload134).start).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload134).start).nanoseconds).reinterpret_as_int()) - let ptr387 = mbt_ffi_str2ptr(payload386.property_name) - mbt_ffi_store32( - iter_base + 12, - payload386.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr387) + match ((payload134).parent) { + None => { + mbt_ffi_store8((iter_base) + 32, (0)) - match payload386.value { - Text(payload388) => { - mbt_ffi_store8(iter_base + 16, 0) + () + } + Some(payload137) => { + mbt_ffi_store8((iter_base) + 32, (1)) - let ptr389 = mbt_ffi_str2ptr(payload388) - mbt_ffi_store32(iter_base + 28, payload388.length()) - mbt_ffi_store32(iter_base + 24, ptr389) - cleanup_list.push(ptr389) + let ptr138 = mbt_ffi_str2ptr(payload137) + mbt_ffi_store32((iter_base) + 40, payload137.length()) + mbt_ffi_store32((iter_base) + 36, ptr138) + cleanup_list.push(ptr138) - () - } - Integer(payload390) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload390) + () + } + } + + match ((payload134).linked_context) { + None => { + mbt_ffi_store8((iter_base) + 48, (0)) + + () + } + Some(payload140) => { + mbt_ffi_store8((iter_base) + 48, (1)) + mbt_ffi_store64((iter_base) + 56, (payload140).reinterpret_as_int64()) + + () + } + } + + let address144 = mbt_ffi_malloc(((payload134).attributes).length() * 20); + for index145 = 0; index145 < ((payload134).attributes).length(); index145 = index145 + 1 { + let iter_elem : @context.Attribute = ((payload134).attributes)[(index145)] + let iter_base = address144 + (index145 * 20); + + let ptr141 = mbt_ffi_str2ptr((iter_elem).key) + mbt_ffi_store32((iter_base) + 4, (iter_elem).key.length()) + mbt_ffi_store32((iter_base) + 0, ptr141) + + match (iter_elem).value { + String(payload142) => { + mbt_ffi_store8((iter_base) + 8, (0)) + + let ptr143 = mbt_ffi_str2ptr(payload142) + mbt_ffi_store32((iter_base) + 16, payload142.length()) + mbt_ffi_store32((iter_base) + 12, ptr143) + cleanup_list.push(ptr143) + + () + } + } + cleanup_list.push(ptr141) + + } + mbt_ffi_store32((iter_base) + 68, ((payload134).attributes).length()) + mbt_ffi_store32((iter_base) + 64, address144) + mbt_ffi_store8((iter_base) + 72, (if (payload134).inherited { 1 } else { 0 })) + cleanup_list.push(ptr135) + cleanup_list.push(address144) + + () + } + ExternalSpan(payload146) => { + mbt_ffi_store8((iter_base) + 0, (1)) + + let ptr147 = mbt_ffi_str2ptr((payload146).span_id) + mbt_ffi_store32((iter_base) + 12, (payload146).span_id.length()) + mbt_ffi_store32((iter_base) + 8, ptr147) + cleanup_list.push(ptr147) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 92, ((payload124).invocation_context).length()) + mbt_ffi_store32((iter_base) + 88, address148) + cleanup_list.push(ptr125) + cleanup_list.push(ptr130) + cleanup_list.push(address132) + cleanup_list.push(address148) () - } - Boolean(payload391) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8( - iter_base + 24, - if payload391 { - 1 - } else { - 0 - }, - ) + } + AgentInvocationFinished(payload150) => { + mbt_ffi_store8((iter_base) + 8, (5)) + mbt_ffi_store64((iter_base) + 16, ((payload150).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload150).timestamp).nanoseconds).reinterpret_as_int()) + + match (payload150).result { + Inline(payload151) => { + mbt_ffi_store8((iter_base) + 32, (0)) + + let ptr152 = mbt_ffi_bytes2ptr(payload151) + + mbt_ffi_store32((iter_base) + 44, payload151.length()) + mbt_ffi_store32((iter_base) + 40, ptr152) + cleanup_list.push(ptr152) + + () + } + External(payload153) => { + mbt_ffi_store8((iter_base) + 32, (1)) + mbt_ffi_store64((iter_base) + 40, (((payload153).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, (((payload153).payload_id).low_bits).reinterpret_as_int64()) + + let ptr154 = mbt_ffi_bytes2ptr((payload153).md5_hash) + + mbt_ffi_store32((iter_base) + 60, (payload153).md5_hash.length()) + mbt_ffi_store32((iter_base) + 56, ptr154) + cleanup_list.push(ptr154) + + () + } + } + + match ((payload150).method_name) { + None => { + mbt_ffi_store8((iter_base) + 64, (0)) + + () + } + Some(payload156) => { + mbt_ffi_store8((iter_base) + 64, (1)) + + let ptr157 = mbt_ffi_str2ptr(payload156) + mbt_ffi_store32((iter_base) + 72, payload156.length()) + mbt_ffi_store32((iter_base) + 68, ptr157) + cleanup_list.push(ptr157) + + () + } + } + mbt_ffi_store64((iter_base) + 80, (payload150).consumed_fuel) + mbt_ffi_store64((iter_base) + 88, ((payload150).component_revision).reinterpret_as_int64()) () - } - } - cleanup_list.push(ptr387) + } + Suspend(payload158) => { + mbt_ffi_store8((iter_base) + 8, (6)) + mbt_ffi_store64((iter_base) + 16, ((payload158).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload158).timestamp).nanoseconds).reinterpret_as_int()) - () + () } - PropGte(payload392) => { - mbt_ffi_store8(iter_base + 0, 3) + Error(payload159) => { + mbt_ffi_store8((iter_base) + 8, (7)) + mbt_ffi_store64((iter_base) + 16, ((payload159).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload159).timestamp).nanoseconds).reinterpret_as_int()) + + match (payload159).error { + Unknown(payload160) => { + mbt_ffi_store8((iter_base) + 32, (0)) - let ptr393 = mbt_ffi_str2ptr(payload392.property_name) - mbt_ffi_store32( - iter_base + 12, - payload392.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr393) + let ptr161 = mbt_ffi_str2ptr(payload160) + mbt_ffi_store32((iter_base) + 44, payload160.length()) + mbt_ffi_store32((iter_base) + 40, ptr161) + cleanup_list.push(ptr161) - match payload392.value { - Text(payload394) => { - mbt_ffi_store8(iter_base + 16, 0) + () + } + InvalidRequest(payload162) => { + mbt_ffi_store8((iter_base) + 32, (1)) - let ptr395 = mbt_ffi_str2ptr(payload394) - mbt_ffi_store32(iter_base + 28, payload394.length()) - mbt_ffi_store32(iter_base + 24, ptr395) - cleanup_list.push(ptr395) + let ptr163 = mbt_ffi_str2ptr(payload162) + mbt_ffi_store32((iter_base) + 44, payload162.length()) + mbt_ffi_store32((iter_base) + 40, ptr163) + cleanup_list.push(ptr163) - () - } - Integer(payload396) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload396) + () + } + StackOverflow => { + mbt_ffi_store8((iter_base) + 32, (2)) + + () + } + OutOfMemory => { + mbt_ffi_store8((iter_base) + 32, (3)) + + () + } + ExceededMemoryLimit => { + mbt_ffi_store8((iter_base) + 32, (4)) + + () + } + InternalError(payload167) => { + mbt_ffi_store8((iter_base) + 32, (5)) + + let ptr168 = mbt_ffi_str2ptr(payload167) + mbt_ffi_store32((iter_base) + 44, payload167.length()) + mbt_ffi_store32((iter_base) + 40, ptr168) + cleanup_list.push(ptr168) + + () + } + DeterministicTrap(payload169) => { + mbt_ffi_store8((iter_base) + 32, (6)) + + let ptr170 = mbt_ffi_str2ptr(payload169) + mbt_ffi_store32((iter_base) + 44, payload169.length()) + mbt_ffi_store32((iter_base) + 40, ptr170) + cleanup_list.push(ptr170) + + () + } + TransientError(payload171) => { + mbt_ffi_store8((iter_base) + 32, (7)) + + let ptr172 = mbt_ffi_str2ptr(payload171) + mbt_ffi_store32((iter_base) + 44, payload171.length()) + mbt_ffi_store32((iter_base) + 40, ptr172) + cleanup_list.push(ptr172) + + () + } + PermanentError(payload173) => { + mbt_ffi_store8((iter_base) + 32, (8)) + + let ptr174 = mbt_ffi_str2ptr(payload173) + mbt_ffi_store32((iter_base) + 44, payload173.length()) + mbt_ffi_store32((iter_base) + 40, ptr174) + cleanup_list.push(ptr174) + + () + } + ExceededTableLimit => { + mbt_ffi_store8((iter_base) + 32, (9)) + + () + } + ExceededHttpCallLimit => { + mbt_ffi_store8((iter_base) + 32, (10)) + + () + } + ExceededRpcCallLimit => { + mbt_ffi_store8((iter_base) + 32, (11)) + + () + } + NodeOutOfFilesystemStorage => { + mbt_ffi_store8((iter_base) + 32, (12)) + + () + } + AgentExceededFilesystemStorageLimit => { + mbt_ffi_store8((iter_base) + 32, (13)) + + () + } + AgentTerminatedByQuota(payload180) => { + mbt_ffi_store8((iter_base) + 32, (14)) + mbt_ffi_store64((iter_base) + 40, ((((payload180).environment_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, ((((payload180).environment_id).uuid).low_bits).reinterpret_as_int64()) + + let ptr181 = mbt_ffi_str2ptr((payload180).resource_name) + mbt_ffi_store32((iter_base) + 60, (payload180).resource_name.length()) + mbt_ffi_store32((iter_base) + 56, ptr181) + cleanup_list.push(ptr181) + + () + } + EphemeralSleepTooLong(payload182) => { + mbt_ffi_store8((iter_base) + 32, (15)) + mbt_ffi_store64((iter_base) + 40, ((payload182).requested_nanos).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, ((payload182).max_nanos).reinterpret_as_int64()) + + () + } + EphemeralFuelExhausted(payload183) => { + mbt_ffi_store8((iter_base) + 32, (16)) + mbt_ffi_store64((iter_base) + 40, ((payload183).overdraft_limit).reinterpret_as_int64()) + + () + } + EphemeralCannotSuspend(payload184) => { + mbt_ffi_store8((iter_base) + 32, (17)) + + let ptr185 = mbt_ffi_str2ptr((payload184).reason) + mbt_ffi_store32((iter_base) + 44, (payload184).reason.length()) + mbt_ffi_store32((iter_base) + 40, ptr185) + cleanup_list.push(ptr185) + + () + } + ReadOnlyViolation(payload186) => { + mbt_ffi_store8((iter_base) + 32, (18)) + + let ptr187 = mbt_ffi_str2ptr((payload186).method_) + mbt_ffi_store32((iter_base) + 44, (payload186).method_.length()) + mbt_ffi_store32((iter_base) + 40, ptr187) + + let ptr188 = mbt_ffi_str2ptr((payload186).host_function) + mbt_ffi_store32((iter_base) + 52, (payload186).host_function.length()) + mbt_ffi_store32((iter_base) + 48, ptr188) + cleanup_list.push(ptr187) + cleanup_list.push(ptr188) + + () + } + } + mbt_ffi_store64((iter_base) + 64, ((payload159).retry_from).reinterpret_as_int64()) + mbt_ffi_store8((iter_base) + 72, (if (payload159).inside_atomic_region { 1 } else { 0 })) + + match ((payload159).retry_policy_state) { + None => { + mbt_ffi_store8((iter_base) + 76, (0)) + + () + } + Some(payload190) => { + mbt_ffi_store8((iter_base) + 76, (1)) + + let address197 = mbt_ffi_malloc(((payload190).nodes).length() * 16); + for index198 = 0; index198 < ((payload190).nodes).length(); index198 = index198 + 1 { + let iter_elem : StateNode = ((payload190).nodes)[(index198)] + let iter_base = address197 + (index198 * 16); + + match iter_elem { + Counter(payload191) => { + mbt_ffi_store8((iter_base) + 0, (0)) + mbt_ffi_store32((iter_base) + 4, (payload191).reinterpret_as_int()) + + () + } + Terminal => { + mbt_ffi_store8((iter_base) + 0, (1)) + + () + } + Wrapper(payload193) => { + mbt_ffi_store8((iter_base) + 0, (2)) + mbt_ffi_store32((iter_base) + 4, payload193) + + () + } + CountBox(payload194) => { + mbt_ffi_store8((iter_base) + 0, (3)) + mbt_ffi_store32((iter_base) + 4, ((payload194).attempts).reinterpret_as_int()) + mbt_ffi_store32((iter_base) + 8, (payload194).inner) + + () + } + AndThen(payload195) => { + mbt_ffi_store8((iter_base) + 0, (4)) + mbt_ffi_store32((iter_base) + 4, (payload195).left) + mbt_ffi_store32((iter_base) + 8, (payload195).right) + mbt_ffi_store8((iter_base) + 12, (if (payload195).on_right { 1 } else { 0 })) + + () + } + Pair(payload196) => { + mbt_ffi_store8((iter_base) + 0, (5)) + mbt_ffi_store32((iter_base) + 4, (payload196).left) + mbt_ffi_store32((iter_base) + 8, (payload196).right) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 84, ((payload190).nodes).length()) + mbt_ffi_store32((iter_base) + 80, address197) + cleanup_list.push(address197) + + () + } + } () - } - Boolean(payload397) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8( - iter_base + 24, - if payload397 { - 1 - } else { - 0 - }, - ) + } + NoOp(payload199) => { + mbt_ffi_store8((iter_base) + 8, (8)) + mbt_ffi_store64((iter_base) + 16, ((payload199).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload199).timestamp).nanoseconds).reinterpret_as_int()) () - } - } - cleanup_list.push(ptr393) + } + Jump(payload200) => { + mbt_ffi_store8((iter_base) + 8, (9)) + mbt_ffi_store64((iter_base) + 16, ((payload200).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload200).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, (((payload200).jump).start).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, (((payload200).jump).end).reinterpret_as_int64()) - () + () } - PropLt(payload398) => { - mbt_ffi_store8(iter_base + 0, 4) + Interrupted(payload201) => { + mbt_ffi_store8((iter_base) + 8, (10)) + mbt_ffi_store64((iter_base) + 16, ((payload201).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload201).timestamp).nanoseconds).reinterpret_as_int()) - let ptr399 = mbt_ffi_str2ptr(payload398.property_name) - mbt_ffi_store32( - iter_base + 12, - payload398.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr399) + () + } + Exited(payload202) => { + mbt_ffi_store8((iter_base) + 8, (11)) + mbt_ffi_store64((iter_base) + 16, ((payload202).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload202).timestamp).nanoseconds).reinterpret_as_int()) - match payload398.value { - Text(payload400) => { - mbt_ffi_store8(iter_base + 16, 0) + () + } + BeginAtomicRegion(payload203) => { + mbt_ffi_store8((iter_base) + 8, (12)) + mbt_ffi_store64((iter_base) + 16, ((payload203).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload203).timestamp).nanoseconds).reinterpret_as_int()) - let ptr401 = mbt_ffi_str2ptr(payload400) - mbt_ffi_store32(iter_base + 28, payload400.length()) - mbt_ffi_store32(iter_base + 24, ptr401) - cleanup_list.push(ptr401) + () + } + EndAtomicRegion(payload204) => { + mbt_ffi_store8((iter_base) + 8, (13)) + mbt_ffi_store64((iter_base) + 16, ((payload204).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload204).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload204).begin_index).reinterpret_as_int64()) () - } - Integer(payload402) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload402) + } + PendingAgentInvocation(payload205) => { + mbt_ffi_store8((iter_base) + 8, (14)) + mbt_ffi_store64((iter_base) + 16, ((payload205).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload205).timestamp).nanoseconds).reinterpret_as_int()) + + let ptr206 = mbt_ffi_str2ptr((payload205).idempotency_key) + mbt_ffi_store32((iter_base) + 36, (payload205).idempotency_key.length()) + mbt_ffi_store32((iter_base) + 32, ptr206) + + match (payload205).payload { + Inline(payload207) => { + mbt_ffi_store8((iter_base) + 40, (0)) + + let ptr208 = mbt_ffi_bytes2ptr(payload207) + + mbt_ffi_store32((iter_base) + 52, payload207.length()) + mbt_ffi_store32((iter_base) + 48, ptr208) + cleanup_list.push(ptr208) + + () + } + External(payload209) => { + mbt_ffi_store8((iter_base) + 40, (1)) + mbt_ffi_store64((iter_base) + 48, (((payload209).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 56, (((payload209).payload_id).low_bits).reinterpret_as_int64()) + + let ptr210 = mbt_ffi_bytes2ptr((payload209).md5_hash) + + mbt_ffi_store32((iter_base) + 68, (payload209).md5_hash.length()) + mbt_ffi_store32((iter_base) + 64, ptr210) + cleanup_list.push(ptr210) + + () + } + } + + let ptr211 = mbt_ffi_str2ptr((payload205).trace_id) + mbt_ffi_store32((iter_base) + 76, (payload205).trace_id.length()) + mbt_ffi_store32((iter_base) + 72, ptr211) + + let address213 = mbt_ffi_malloc(((payload205).trace_states).length() * 8); + for index214 = 0; index214 < ((payload205).trace_states).length(); index214 = index214 + 1 { + let iter_elem : String = ((payload205).trace_states)[(index214)] + let iter_base = address213 + (index214 * 8); + + let ptr212 = mbt_ffi_str2ptr(iter_elem) + mbt_ffi_store32((iter_base) + 4, iter_elem.length()) + mbt_ffi_store32((iter_base) + 0, ptr212) + cleanup_list.push(ptr212) + + } + mbt_ffi_store32((iter_base) + 84, ((payload205).trace_states).length()) + mbt_ffi_store32((iter_base) + 80, address213) + + let address229 = mbt_ffi_malloc(((payload205).invocation_context).length() * 80); + for index230 = 0; index230 < ((payload205).invocation_context).length(); index230 = index230 + 1 { + let iter_elem : SpanData = ((payload205).invocation_context)[(index230)] + let iter_base = address229 + (index230 * 80); + + match iter_elem { + LocalSpan(payload215) => { + mbt_ffi_store8((iter_base) + 0, (0)) + + let ptr216 = mbt_ffi_str2ptr((payload215).span_id) + mbt_ffi_store32((iter_base) + 12, (payload215).span_id.length()) + mbt_ffi_store32((iter_base) + 8, ptr216) + mbt_ffi_store64((iter_base) + 16, ((payload215).start).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload215).start).nanoseconds).reinterpret_as_int()) + + match ((payload215).parent) { + None => { + mbt_ffi_store8((iter_base) + 32, (0)) + + () + } + Some(payload218) => { + mbt_ffi_store8((iter_base) + 32, (1)) + + let ptr219 = mbt_ffi_str2ptr(payload218) + mbt_ffi_store32((iter_base) + 40, payload218.length()) + mbt_ffi_store32((iter_base) + 36, ptr219) + cleanup_list.push(ptr219) + + () + } + } + + match ((payload215).linked_context) { + None => { + mbt_ffi_store8((iter_base) + 48, (0)) + + () + } + Some(payload221) => { + mbt_ffi_store8((iter_base) + 48, (1)) + mbt_ffi_store64((iter_base) + 56, (payload221).reinterpret_as_int64()) + + () + } + } + + let address225 = mbt_ffi_malloc(((payload215).attributes).length() * 20); + for index226 = 0; index226 < ((payload215).attributes).length(); index226 = index226 + 1 { + let iter_elem : @context.Attribute = ((payload215).attributes)[(index226)] + let iter_base = address225 + (index226 * 20); + + let ptr222 = mbt_ffi_str2ptr((iter_elem).key) + mbt_ffi_store32((iter_base) + 4, (iter_elem).key.length()) + mbt_ffi_store32((iter_base) + 0, ptr222) + + match (iter_elem).value { + String(payload223) => { + mbt_ffi_store8((iter_base) + 8, (0)) + + let ptr224 = mbt_ffi_str2ptr(payload223) + mbt_ffi_store32((iter_base) + 16, payload223.length()) + mbt_ffi_store32((iter_base) + 12, ptr224) + cleanup_list.push(ptr224) + + () + } + } + cleanup_list.push(ptr222) + + } + mbt_ffi_store32((iter_base) + 68, ((payload215).attributes).length()) + mbt_ffi_store32((iter_base) + 64, address225) + mbt_ffi_store8((iter_base) + 72, (if (payload215).inherited { 1 } else { 0 })) + cleanup_list.push(ptr216) + cleanup_list.push(address225) + + () + } + ExternalSpan(payload227) => { + mbt_ffi_store8((iter_base) + 0, (1)) + + let ptr228 = mbt_ffi_str2ptr((payload227).span_id) + mbt_ffi_store32((iter_base) + 12, (payload227).span_id.length()) + mbt_ffi_store32((iter_base) + 8, ptr228) + cleanup_list.push(ptr228) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 92, ((payload205).invocation_context).length()) + mbt_ffi_store32((iter_base) + 88, address229) + cleanup_list.push(ptr206) + cleanup_list.push(ptr211) + cleanup_list.push(address213) + cleanup_list.push(address229) () - } - Boolean(payload403) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8( - iter_base + 24, - if payload403 { - 1 - } else { - 0 - }, - ) + } + PendingUpdate(payload231) => { + mbt_ffi_store8((iter_base) + 8, (15)) + mbt_ffi_store64((iter_base) + 16, ((payload231).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload231).timestamp).nanoseconds).reinterpret_as_int()) + + match (payload231).description { + Automatic(payload232) => { + mbt_ffi_store8((iter_base) + 32, (0)) + mbt_ffi_store64((iter_base) + 40, (payload232).reinterpret_as_int64()) + + () + } + SnapshotBased(payload233) => { + mbt_ffi_store8((iter_base) + 32, (1)) + mbt_ffi_store64((iter_base) + 40, ((payload233).target_revision).reinterpret_as_int64()) + + match (payload233).payload { + Inline(payload234) => { + mbt_ffi_store8((iter_base) + 48, (0)) + + let ptr235 = mbt_ffi_bytes2ptr(payload234) + + mbt_ffi_store32((iter_base) + 60, payload234.length()) + mbt_ffi_store32((iter_base) + 56, ptr235) + cleanup_list.push(ptr235) + + () + } + External(payload236) => { + mbt_ffi_store8((iter_base) + 48, (1)) + mbt_ffi_store64((iter_base) + 56, (((payload236).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 64, (((payload236).payload_id).low_bits).reinterpret_as_int64()) + + let ptr237 = mbt_ffi_bytes2ptr((payload236).md5_hash) + + mbt_ffi_store32((iter_base) + 76, (payload236).md5_hash.length()) + mbt_ffi_store32((iter_base) + 72, ptr237) + cleanup_list.push(ptr237) + + () + } + } + + let ptr238 = mbt_ffi_str2ptr((payload233).mime_type) + mbt_ffi_store32((iter_base) + 84, (payload233).mime_type.length()) + mbt_ffi_store32((iter_base) + 80, ptr238) + cleanup_list.push(ptr238) + + () + } + } () - } - } - cleanup_list.push(ptr399) + } + SuccessfulUpdate(payload239) => { + mbt_ffi_store8((iter_base) + 8, (16)) + mbt_ffi_store64((iter_base) + 16, ((payload239).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload239).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload239).target_revision).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, ((payload239).new_component_size).reinterpret_as_int64()) + + let address240 = mbt_ffi_malloc(((payload239).new_active_plugins).length() * 16); + for index241 = 0; index241 < ((payload239).new_active_plugins).length(); index241 = index241 + 1 { + let iter_elem : EnvironmentPluginGrantId = ((payload239).new_active_plugins)[(index241)] + let iter_base = address240 + (index241 * 16); + mbt_ffi_store64((iter_base) + 0, (((iter_elem).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 8, (((iter_elem).uuid).low_bits).reinterpret_as_int64()) + + } + mbt_ffi_store32((iter_base) + 52, ((payload239).new_active_plugins).length()) + mbt_ffi_store32((iter_base) + 48, address240) + cleanup_list.push(address240) - () + () } - PropLte(payload404) => { - mbt_ffi_store8(iter_base + 0, 5) + FailedUpdate(payload242) => { + mbt_ffi_store8((iter_base) + 8, (17)) + mbt_ffi_store64((iter_base) + 16, ((payload242).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload242).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload242).target_revision).reinterpret_as_int64()) - let ptr405 = mbt_ffi_str2ptr(payload404.property_name) - mbt_ffi_store32( - iter_base + 12, - payload404.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr405) + match ((payload242).details) { + None => { + mbt_ffi_store8((iter_base) + 40, (0)) - match payload404.value { - Text(payload406) => { - mbt_ffi_store8(iter_base + 16, 0) + () + } + Some(payload244) => { + mbt_ffi_store8((iter_base) + 40, (1)) - let ptr407 = mbt_ffi_str2ptr(payload406) - mbt_ffi_store32(iter_base + 28, payload406.length()) - mbt_ffi_store32(iter_base + 24, ptr407) - cleanup_list.push(ptr407) + let ptr245 = mbt_ffi_str2ptr(payload244) + mbt_ffi_store32((iter_base) + 48, payload244.length()) + mbt_ffi_store32((iter_base) + 44, ptr245) + cleanup_list.push(ptr245) - () - } - Integer(payload408) => { - mbt_ffi_store8(iter_base + 16, 1) - mbt_ffi_store64(iter_base + 24, payload408) + () + } + } () - } - Boolean(payload409) => { - mbt_ffi_store8(iter_base + 16, 2) - mbt_ffi_store8( - iter_base + 24, - if payload409 { - 1 - } else { - 0 - }, - ) + } + GrowMemory(payload246) => { + mbt_ffi_store8((iter_base) + 8, (18)) + mbt_ffi_store64((iter_base) + 16, ((payload246).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload246).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload246).delta).reinterpret_as_int64()) () - } - } - cleanup_list.push(ptr405) + } + FilesystemStorageUsageUpdate(payload247) => { + mbt_ffi_store8((iter_base) + 8, (19)) + mbt_ffi_store64((iter_base) + 16, ((payload247).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload247).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, (payload247).delta) - () + () } - PropExists(payload410) => { - mbt_ffi_store8(iter_base + 0, 6) + CreateResource(payload248) => { + mbt_ffi_store8((iter_base) + 8, (20)) + mbt_ffi_store64((iter_base) + 16, ((payload248).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload248).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload248).id).reinterpret_as_int64()) - let ptr411 = mbt_ffi_str2ptr(payload410) - mbt_ffi_store32(iter_base + 12, payload410.length()) - mbt_ffi_store32(iter_base + 8, ptr411) - cleanup_list.push(ptr411) + let ptr249 = mbt_ffi_str2ptr(((payload248).resource_type_id).name) + mbt_ffi_store32((iter_base) + 44, ((payload248).resource_type_id).name.length()) + mbt_ffi_store32((iter_base) + 40, ptr249) - () - } - PropIn(payload412) => { - mbt_ffi_store8(iter_base + 0, 7) - - let ptr413 = mbt_ffi_str2ptr(payload412.property_name) - mbt_ffi_store32( - iter_base + 12, - payload412.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr413) - - let address418 = mbt_ffi_malloc( - payload412.values.length() * 16, - ) - for index419 = 0 - index419 < payload412.values.length() - index419 = index419 + 1 { - let iter_elem : @retry.PredicateValue = payload412.values[index419] - let iter_base = address418 + index419 * 16 - - match iter_elem { - Text(payload414) => { - mbt_ffi_store8(iter_base + 0, 0) - - let ptr415 = mbt_ffi_str2ptr(payload414) - mbt_ffi_store32(iter_base + 12, payload414.length()) - mbt_ffi_store32(iter_base + 8, ptr415) - cleanup_list.push(ptr415) - - () - } - Integer(payload416) => { - mbt_ffi_store8(iter_base + 0, 1) - mbt_ffi_store64(iter_base + 8, payload416) + let ptr250 = mbt_ffi_str2ptr(((payload248).resource_type_id).owner) + mbt_ffi_store32((iter_base) + 52, ((payload248).resource_type_id).owner.length()) + mbt_ffi_store32((iter_base) + 48, ptr250) + cleanup_list.push(ptr249) + cleanup_list.push(ptr250) - () - } - Boolean(payload417) => { - mbt_ffi_store8(iter_base + 0, 2) - mbt_ffi_store8( - iter_base + 8, - if payload417 { - 1 - } else { - 0 - }, - ) - - () - } - } - } - mbt_ffi_store32(iter_base + 20, payload412.values.length()) - mbt_ffi_store32(iter_base + 16, address418) - cleanup_list.push(ptr413) - cleanup_list.push(address418) - - () - } - PropMatches(payload420) => { - mbt_ffi_store8(iter_base + 0, 8) - - let ptr421 = mbt_ffi_str2ptr(payload420.property_name) - mbt_ffi_store32( - iter_base + 12, - payload420.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr421) - - let ptr422 = mbt_ffi_str2ptr(payload420.pattern) - mbt_ffi_store32(iter_base + 20, payload420.pattern.length()) - mbt_ffi_store32(iter_base + 16, ptr422) - cleanup_list.push(ptr421) - cleanup_list.push(ptr422) - - () + () } - PropStartsWith(payload423) => { - mbt_ffi_store8(iter_base + 0, 9) - - let ptr424 = mbt_ffi_str2ptr(payload423.property_name) - mbt_ffi_store32( - iter_base + 12, - payload423.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr424) - - let ptr425 = mbt_ffi_str2ptr(payload423.pattern) - mbt_ffi_store32(iter_base + 20, payload423.pattern.length()) - mbt_ffi_store32(iter_base + 16, ptr425) - cleanup_list.push(ptr424) - cleanup_list.push(ptr425) - - () + DropResource(payload251) => { + mbt_ffi_store8((iter_base) + 8, (21)) + mbt_ffi_store64((iter_base) + 16, ((payload251).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload251).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload251).id).reinterpret_as_int64()) + + let ptr252 = mbt_ffi_str2ptr(((payload251).resource_type_id).name) + mbt_ffi_store32((iter_base) + 44, ((payload251).resource_type_id).name.length()) + mbt_ffi_store32((iter_base) + 40, ptr252) + + let ptr253 = mbt_ffi_str2ptr(((payload251).resource_type_id).owner) + mbt_ffi_store32((iter_base) + 52, ((payload251).resource_type_id).owner.length()) + mbt_ffi_store32((iter_base) + 48, ptr253) + cleanup_list.push(ptr252) + cleanup_list.push(ptr253) + + () } - PropContains(payload426) => { - mbt_ffi_store8(iter_base + 0, 10) - - let ptr427 = mbt_ffi_str2ptr(payload426.property_name) - mbt_ffi_store32( - iter_base + 12, - payload426.property_name.length(), - ) - mbt_ffi_store32(iter_base + 8, ptr427) - - let ptr428 = mbt_ffi_str2ptr(payload426.pattern) - mbt_ffi_store32(iter_base + 20, payload426.pattern.length()) - mbt_ffi_store32(iter_base + 16, ptr428) - cleanup_list.push(ptr427) - cleanup_list.push(ptr428) - - () + Log(payload254) => { + mbt_ffi_store8((iter_base) + 8, (22)) + mbt_ffi_store64((iter_base) + 16, ((payload254).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload254).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store8((iter_base) + 32, (payload254).level.ordinal()) + + let ptr255 = mbt_ffi_str2ptr((payload254).context) + mbt_ffi_store32((iter_base) + 40, (payload254).context.length()) + mbt_ffi_store32((iter_base) + 36, ptr255) + + let ptr256 = mbt_ffi_str2ptr((payload254).message) + mbt_ffi_store32((iter_base) + 48, (payload254).message.length()) + mbt_ffi_store32((iter_base) + 44, ptr256) + cleanup_list.push(ptr255) + cleanup_list.push(ptr256) + + () } - PredAnd(payload429) => { - mbt_ffi_store8(iter_base + 0, 11) - mbt_ffi_store32(iter_base + 8, payload429.0) - mbt_ffi_store32(iter_base + 12, payload429.1) + Restart(payload257) => { + mbt_ffi_store8((iter_base) + 8, (23)) + mbt_ffi_store64((iter_base) + 16, ((payload257).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload257).timestamp).nanoseconds).reinterpret_as_int()) - () + () } - PredOr(payload430) => { - mbt_ffi_store8(iter_base + 0, 12) - mbt_ffi_store32(iter_base + 8, payload430.0) - mbt_ffi_store32(iter_base + 12, payload430.1) + ActivatePlugin(payload258) => { + mbt_ffi_store8((iter_base) + 8, (24)) + mbt_ffi_store64((iter_base) + 16, ((payload258).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload258).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((((payload258).plugin_grant_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, ((((payload258).plugin_grant_id).uuid).low_bits).reinterpret_as_int64()) - () + () } - PredNot(payload431) => { - mbt_ffi_store8(iter_base + 0, 13) - mbt_ffi_store32(iter_base + 8, payload431) + DeactivatePlugin(payload259) => { + mbt_ffi_store8((iter_base) + 8, (25)) + mbt_ffi_store64((iter_base) + 16, ((payload259).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload259).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((((payload259).plugin_grant_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, ((((payload259).plugin_grant_id).uuid).low_bits).reinterpret_as_int64()) - () + () } - PredTrue => { - mbt_ffi_store8(iter_base + 0, 14) + Revert(payload260) => { + mbt_ffi_store8((iter_base) + 8, (26)) + mbt_ffi_store64((iter_base) + 16, ((payload260).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload260).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, (((payload260).dropped_region).start).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, (((payload260).dropped_region).end).reinterpret_as_int64()) - () + () } - PredFalse => { - mbt_ffi_store8(iter_base + 0, 15) + CancelPendingInvocation(payload261) => { + mbt_ffi_store8((iter_base) + 8, (27)) + mbt_ffi_store64((iter_base) + 16, ((payload261).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload261).timestamp).nanoseconds).reinterpret_as_int()) + + let ptr262 = mbt_ffi_str2ptr((payload261).idempotency_key) + mbt_ffi_store32((iter_base) + 36, (payload261).idempotency_key.length()) + mbt_ffi_store32((iter_base) + 32, ptr262) + cleanup_list.push(ptr262) - () + () } - } - } - mbt_ffi_store32( - iter_base + 12, - payload373.predicate.nodes.length(), - ) - mbt_ffi_store32(iter_base + 8, address434) - mbt_ffi_store32(iter_base + 16, payload373.inner) - cleanup_list.push(address434) - - () - } - AndThen(payload436) => { - mbt_ffi_store8(iter_base + 0, 11) - mbt_ffi_store32(iter_base + 8, payload436.0) - mbt_ffi_store32(iter_base + 12, payload436.1) + StartSpan(payload263) => { + mbt_ffi_store8((iter_base) + 8, (28)) + mbt_ffi_store64((iter_base) + 16, ((payload263).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload263).timestamp).nanoseconds).reinterpret_as_int()) - () - } - PolicyUnion(payload437) => { - mbt_ffi_store8(iter_base + 0, 12) - mbt_ffi_store32(iter_base + 8, payload437.0) - mbt_ffi_store32(iter_base + 12, payload437.1) + let ptr264 = mbt_ffi_str2ptr((payload263).span_id) + mbt_ffi_store32((iter_base) + 36, (payload263).span_id.length()) + mbt_ffi_store32((iter_base) + 32, ptr264) - () - } - PolicyIntersect(payload438) => { - mbt_ffi_store8(iter_base + 0, 13) - mbt_ffi_store32(iter_base + 8, payload438.0) - mbt_ffi_store32(iter_base + 12, payload438.1) + match ((payload263).parent) { + None => { + mbt_ffi_store8((iter_base) + 40, (0)) - () - } - } - } - mbt_ffi_store32(iter_base + 56, payload299.policy.policy.nodes.length()) - mbt_ffi_store32(iter_base + 52, address439) - cleanup_list.push(ptr300) - cleanup_list.push(address361) - cleanup_list.push(address439) - - () - } - RemoveRetryPolicy(payload441) => { - mbt_ffi_store8(iter_base + 8, 39) - mbt_ffi_store64(iter_base + 16, payload441.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload441.timestamp.nanoseconds.reinterpret_as_int(), - ) - - let ptr442 = mbt_ffi_str2ptr(payload441.name) - mbt_ffi_store32(iter_base + 36, payload441.name.length()) - mbt_ffi_store32(iter_base + 32, ptr442) - cleanup_list.push(ptr442) - - () - } - CardEventQueued(payload443) => { - mbt_ffi_store8(iter_base + 8, 40) - mbt_ffi_store64(iter_base + 16, payload443.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload443.timestamp.nanoseconds.reinterpret_as_int(), - ) - - match payload443.event { - Install(payload444) => { - mbt_ffi_store8(iter_base + 32, 0) - mbt_ffi_store64( - iter_base + 40, - payload444.card_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload444.card_id.uuid.low_bits.reinterpret_as_int64(), - ) - - () - } - Revoke(payload445) => { - mbt_ffi_store8(iter_base + 32, 1) - mbt_ffi_store64( - iter_base + 40, - payload445.card_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload445.card_id.uuid.low_bits.reinterpret_as_int64(), - ) - - () - } - } - - () - } - CardInstalled(payload446) => { - mbt_ffi_store8(iter_base + 8, 41) - mbt_ffi_store64(iter_base + 16, payload446.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload446.timestamp.nanoseconds.reinterpret_as_int(), - ) - - match payload446.queued_event_index { - None => { - mbt_ffi_store8(iter_base + 32, 0) - - () - } - Some(payload448) => { - mbt_ffi_store8(iter_base + 32, 1) - mbt_ffi_store64(iter_base + 40, payload448.reinterpret_as_int64()) - - () - } - } - - let ptr449 = mbt_ffi_bytes2ptr(payload446.card) - - mbt_ffi_store32(iter_base + 52, payload446.card.length()) - mbt_ffi_store32(iter_base + 48, ptr449) - cleanup_list.push(ptr449) - - () - } - CardInstallFailed(payload450) => { - mbt_ffi_store8(iter_base + 8, 42) - mbt_ffi_store64(iter_base + 16, payload450.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload450.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload450.queued_event_index.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload450.card_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload450.card_id.uuid.low_bits.reinterpret_as_int64(), - ) - mbt_ffi_store8(iter_base + 56, payload450.reason.ordinal()) - - () - } - CardRevoked(payload451) => { - mbt_ffi_store8(iter_base + 8, 43) - mbt_ffi_store64(iter_base + 16, payload451.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload451.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload451.queued_event_index.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload451.card_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 48, - payload451.card_id.uuid.low_bits.reinterpret_as_int64(), - ) - - () - } - CardExpired(payload452) => { - mbt_ffi_store8(iter_base + 8, 44) - mbt_ffi_store64(iter_base + 16, payload452.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload452.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload452.card_id.uuid.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 40, - payload452.card_id.uuid.low_bits.reinterpret_as_int64(), - ) - - () - } - HostStreamFrame(payload453) => { - mbt_ffi_store8(iter_base + 8, 45) - mbt_ffi_store64(iter_base + 16, payload453.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload453.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload453.parent_start_index.reinterpret_as_int64(), - ) - mbt_ffi_store8(iter_base + 40, payload453.kind.ordinal()) - - match payload453.payload { - Inline(payload454) => { - mbt_ffi_store8(iter_base + 48, 0) - - let ptr455 = mbt_ffi_bytes2ptr(payload454) - - mbt_ffi_store32(iter_base + 60, payload454.length()) - mbt_ffi_store32(iter_base + 56, ptr455) - cleanup_list.push(ptr455) - - () - } - External(payload456) => { - mbt_ffi_store8(iter_base + 48, 1) - mbt_ffi_store64( - iter_base + 56, - payload456.payload_id.high_bits.reinterpret_as_int64(), - ) - mbt_ffi_store64( - iter_base + 64, - payload456.payload_id.low_bits.reinterpret_as_int64(), - ) - - let ptr457 = mbt_ffi_bytes2ptr(payload456.md5_hash) - - mbt_ffi_store32(iter_base + 76, payload456.md5_hash.length()) - mbt_ffi_store32(iter_base + 72, ptr457) - cleanup_list.push(ptr457) - - () - } - } - - () - } - CompletionDiscarded(payload458) => { - mbt_ffi_store8(iter_base + 8, 46) - mbt_ffi_store64(iter_base + 16, payload458.timestamp.seconds) - mbt_ffi_store32( - iter_base + 24, - payload458.timestamp.nanoseconds.reinterpret_as_int(), - ) - mbt_ffi_store64( - iter_base + 32, - payload458.start_index.reinterpret_as_int64(), - ) - - () - } - } - } - let return_area = mbt_ffi_malloc(12) - wasmImportEnrichOplogEntries( - environment_id.uuid.high_bits.reinterpret_as_int64(), - environment_id.uuid.low_bits.reinterpret_as_int64(), - agent_id.component_id.uuid.high_bits.reinterpret_as_int64(), - agent_id.component_id.uuid.low_bits.reinterpret_as_int64(), - ptr, - agent_id.agent_id.length(), - address459, - entries.length(), - component_revision.reinterpret_as_int64(), - return_area, - ) - - let lifted3301 = match mbt_ffi_load8_u(return_area + 0) { - 0 => { - let array3298 : Array[PublicOplogEntry] = [] - for index3299 = 0 - index3299 < mbt_ffi_load32(return_area + 8) - index3299 = index3299 + 1 { - let iter_base = mbt_ffi_load32(return_area + 4) + index3299 * 208 - - let lifted3297 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array : Array[(String, String)] = [] - for index463 = 0 - index463 < mbt_ffi_load32(iter_base + 68) - index463 = index463 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + index463 * 16 - - let result461 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result462 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array.push((result461, result462)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - let lifted : @types.AgentId? = match - mbt_ffi_load8_u(iter_base + 104) { - 0 => Option::None - 1 => { - let result464 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 128), - mbt_ffi_load32(iter_base + 132), - ) - - Option::Some(@types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 112).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 120).reinterpret_as_uint64(), - }, - }, - agent_id: result464, - }) - } - _ => panic() - } + () + } + Some(payload266) => { + mbt_ffi_store8((iter_base) + 40, (1)) - let array471 : Array[PluginInstallationDescription] = [] - for index472 = 0 - index472 < mbt_ffi_load32(iter_base + 156) - index472 = index472 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 152) + index472 * 48 - - let result465 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - let result466 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let array469 : Array[(String, String)] = [] - for index470 = 0 - index470 < mbt_ffi_load32(iter_base + 40) - index470 = index470 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index470 * 16 - - let result467 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result468 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array469.push((result467, result468)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - array471.push(PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 0).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 16), - plugin_name: result465, - plugin_version: result466, - parameters: array469, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 152)) - - let array710 : Array[LocalAgentConfigEntry] = [] - for index711 = 0 - index711 < mbt_ffi_load32(iter_base + 164) - index711 = index711 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 160) + index711 * 40 - - let array474 : Array[String] = [] - for index475 = 0 - index475 < mbt_ffi_load32(iter_base + 4) - index475 = index475 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + index475 * 8 - - let result473 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array474.push(result473) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - let array672 : Array[@types.SchemaTypeNode] = [] - for index673 = 0 - index673 < mbt_ffi_load32(iter_base + 12) - index673 = index673 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + index673 * 144 - - let lifted658 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted482 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted477 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted476 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let ptr267 = mbt_ffi_str2ptr(payload266) + mbt_ffi_store32((iter_base) + 48, payload266.length()) + mbt_ffi_store32((iter_base) + 44, ptr267) + cleanup_list.push(ptr267) - Option::Some(lifted476) - } - _ => panic() + () + } } - let lifted479 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted478 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + match ((payload263).linked_context_id) { + None => { + mbt_ffi_store8((iter_base) + 52, (0)) - Option::Some(lifted478) - } - _ => panic() - } + () + } + Some(payload269) => { + mbt_ffi_store8((iter_base) + 52, (1)) + + let ptr270 = mbt_ffi_str2ptr(payload269) + mbt_ffi_store32((iter_base) + 60, payload269.length()) + mbt_ffi_store32((iter_base) + 56, ptr270) + cleanup_list.push(ptr270) - let lifted481 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result480 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result480) - } - _ => panic() + () + } } - Option::Some(@types.NumericRestrictions::{ - min: lifted477, - max: lifted479, - unit: lifted481, - }) - } - _ => panic() - } + let address274 = mbt_ffi_malloc(((payload263).attributes).length() * 20); + for index275 = 0; index275 < ((payload263).attributes).length(); index275 = index275 + 1 { + let iter_elem : @context.Attribute = ((payload263).attributes)[(index275)] + let iter_base = address274 + (index275 * 20); - @types.SchemaTypeBody::S8Type(lifted482) - } - 3 => { - let lifted489 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted484 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted483 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let ptr271 = mbt_ffi_str2ptr((iter_elem).key) + mbt_ffi_store32((iter_base) + 4, (iter_elem).key.length()) + mbt_ffi_store32((iter_base) + 0, ptr271) - Option::Some(lifted483) - } - _ => panic() - } + match (iter_elem).value { + String(payload272) => { + mbt_ffi_store8((iter_base) + 8, (0)) - let lifted486 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted485 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let ptr273 = mbt_ffi_str2ptr(payload272) + mbt_ffi_store32((iter_base) + 16, payload272.length()) + mbt_ffi_store32((iter_base) + 12, ptr273) + cleanup_list.push(ptr273) - Option::Some(lifted485) - } - _ => panic() - } + () + } + } + cleanup_list.push(ptr271) - let lifted488 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result487 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result487) - } - _ => panic() } + mbt_ffi_store32((iter_base) + 68, ((payload263).attributes).length()) + mbt_ffi_store32((iter_base) + 64, address274) + cleanup_list.push(ptr264) + cleanup_list.push(address274) + + () + } + FinishSpan(payload276) => { + mbt_ffi_store8((iter_base) + 8, (29)) + mbt_ffi_store64((iter_base) + 16, ((payload276).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload276).timestamp).nanoseconds).reinterpret_as_int()) - Option::Some(@types.NumericRestrictions::{ - min: lifted484, - max: lifted486, - unit: lifted488, - }) - } - _ => panic() - } + let ptr277 = mbt_ffi_str2ptr((payload276).span_id) + mbt_ffi_store32((iter_base) + 36, (payload276).span_id.length()) + mbt_ffi_store32((iter_base) + 32, ptr277) + cleanup_list.push(ptr277) - @types.SchemaTypeBody::S16Type(lifted489) + () } - 4 => { - let lifted496 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted491 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted490 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + SetSpanAttribute(payload278) => { + mbt_ffi_store8((iter_base) + 8, (30)) + mbt_ffi_store64((iter_base) + 16, ((payload278).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload278).timestamp).nanoseconds).reinterpret_as_int()) - Option::Some(lifted490) - } - _ => panic() - } + let ptr279 = mbt_ffi_str2ptr((payload278).span_id) + mbt_ffi_store32((iter_base) + 36, (payload278).span_id.length()) + mbt_ffi_store32((iter_base) + 32, ptr279) - let lifted493 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted492 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let ptr280 = mbt_ffi_str2ptr((payload278).key) + mbt_ffi_store32((iter_base) + 44, (payload278).key.length()) + mbt_ffi_store32((iter_base) + 40, ptr280) + + match (payload278).value { + String(payload281) => { + mbt_ffi_store8((iter_base) + 48, (0)) + + let ptr282 = mbt_ffi_str2ptr(payload281) + mbt_ffi_store32((iter_base) + 56, payload281.length()) + mbt_ffi_store32((iter_base) + 52, ptr282) + cleanup_list.push(ptr282) - Option::Some(lifted492) - } - _ => panic() + () + } } + cleanup_list.push(ptr279) + cleanup_list.push(ptr280) + + () + } + BeginRemoteTransaction(payload283) => { + mbt_ffi_store8((iter_base) + 8, (31)) + mbt_ffi_store64((iter_base) + 16, ((payload283).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload283).timestamp).nanoseconds).reinterpret_as_int()) - let lifted495 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result494 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result494) - } - _ => panic() + let ptr284 = mbt_ffi_str2ptr((payload283).transaction_id) + mbt_ffi_store32((iter_base) + 36, (payload283).transaction_id.length()) + mbt_ffi_store32((iter_base) + 32, ptr284) + + match ((payload283).original_begin_index) { + None => { + mbt_ffi_store8((iter_base) + 40, (0)) + + () + } + Some(payload286) => { + mbt_ffi_store8((iter_base) + 40, (1)) + mbt_ffi_store64((iter_base) + 48, (payload286).reinterpret_as_int64()) + + () + } } + cleanup_list.push(ptr284) + + () + } + PreCommitRemoteTransaction(payload287) => { + mbt_ffi_store8((iter_base) + 8, (32)) + mbt_ffi_store64((iter_base) + 16, ((payload287).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload287).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload287).begin_index).reinterpret_as_int64()) - Option::Some(@types.NumericRestrictions::{ - min: lifted491, - max: lifted493, - unit: lifted495, - }) - } - _ => panic() - } + () + } + PreRollbackRemoteTransaction(payload288) => { + mbt_ffi_store8((iter_base) + 8, (33)) + mbt_ffi_store64((iter_base) + 16, ((payload288).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload288).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload288).begin_index).reinterpret_as_int64()) - @types.SchemaTypeBody::S32Type(lifted496) + () } - 5 => { - let lifted503 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted498 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted497 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + CommittedRemoteTransaction(payload289) => { + mbt_ffi_store8((iter_base) + 8, (34)) + mbt_ffi_store64((iter_base) + 16, ((payload289).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload289).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload289).begin_index).reinterpret_as_int64()) - Option::Some(lifted497) - } - _ => panic() - } + () + } + RolledBackRemoteTransaction(payload290) => { + mbt_ffi_store8((iter_base) + 8, (35)) + mbt_ffi_store64((iter_base) + 16, ((payload290).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload290).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload290).begin_index).reinterpret_as_int64()) - let lifted500 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted499 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + () + } + Snapshot(payload291) => { + mbt_ffi_store8((iter_base) + 8, (36)) + mbt_ffi_store64((iter_base) + 16, ((payload291).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload291).timestamp).nanoseconds).reinterpret_as_int()) + + match (payload291).data { + Inline(payload292) => { + mbt_ffi_store8((iter_base) + 32, (0)) + + let ptr293 = mbt_ffi_bytes2ptr(payload292) + + mbt_ffi_store32((iter_base) + 44, payload292.length()) + mbt_ffi_store32((iter_base) + 40, ptr293) + cleanup_list.push(ptr293) + + () + } + External(payload294) => { + mbt_ffi_store8((iter_base) + 32, (1)) + mbt_ffi_store64((iter_base) + 40, (((payload294).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, (((payload294).payload_id).low_bits).reinterpret_as_int64()) + + let ptr295 = mbt_ffi_bytes2ptr((payload294).md5_hash) + + mbt_ffi_store32((iter_base) + 60, (payload294).md5_hash.length()) + mbt_ffi_store32((iter_base) + 56, ptr295) + cleanup_list.push(ptr295) + + () + } + } + + let ptr296 = mbt_ffi_str2ptr((payload291).mime_type) + mbt_ffi_store32((iter_base) + 68, (payload291).mime_type.length()) + mbt_ffi_store32((iter_base) + 64, ptr296) + cleanup_list.push(ptr296) + + () + } + OplogProcessorCheckpoint(payload297) => { + mbt_ffi_store8((iter_base) + 8, (37)) + mbt_ffi_store64((iter_base) + 16, ((payload297).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload297).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((((payload297).plugin_grant_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, ((((payload297).plugin_grant_id).uuid).low_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, (((((payload297).target_agent_id).component_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 56, (((((payload297).target_agent_id).component_id).uuid).low_bits).reinterpret_as_int64()) + + let ptr298 = mbt_ffi_str2ptr(((payload297).target_agent_id).agent_id) + mbt_ffi_store32((iter_base) + 68, ((payload297).target_agent_id).agent_id.length()) + mbt_ffi_store32((iter_base) + 64, ptr298) + mbt_ffi_store64((iter_base) + 72, ((payload297).confirmed_up_to).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 80, ((payload297).sending_up_to).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 88, ((payload297).last_batch_start).reinterpret_as_int64()) + cleanup_list.push(ptr298) + + () + } + SetRetryPolicy(payload299) => { + mbt_ffi_store8((iter_base) + 8, (38)) + mbt_ffi_store64((iter_base) + 16, ((payload299).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload299).timestamp).nanoseconds).reinterpret_as_int()) + + let ptr300 = mbt_ffi_str2ptr(((payload299).policy).name) + mbt_ffi_store32((iter_base) + 36, ((payload299).policy).name.length()) + mbt_ffi_store32((iter_base) + 32, ptr300) + mbt_ffi_store32((iter_base) + 40, (((payload299).policy).priority).reinterpret_as_int()) + + let address361 = mbt_ffi_malloc(((((payload299).policy).predicate).nodes).length() * 32); + for index362 = 0; index362 < ((((payload299).policy).predicate).nodes).length(); index362 = index362 + 1 { + let iter_elem : @retry.PredicateNode = ((((payload299).policy).predicate).nodes)[(index362)] + let iter_base = address361 + (index362 * 32); + + match iter_elem { + PropEq(payload301) => { + mbt_ffi_store8((iter_base) + 0, (0)) + + let ptr302 = mbt_ffi_str2ptr((payload301).property_name) + mbt_ffi_store32((iter_base) + 12, (payload301).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr302) + + match (payload301).value { + Text(payload303) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr304 = mbt_ffi_str2ptr(payload303) + mbt_ffi_store32((iter_base) + 28, payload303.length()) + mbt_ffi_store32((iter_base) + 24, ptr304) + cleanup_list.push(ptr304) + + () + } + Integer(payload305) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload305) + + () + } + Boolean(payload306) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload306 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr302) + + () + } + PropNeq(payload307) => { + mbt_ffi_store8((iter_base) + 0, (1)) + + let ptr308 = mbt_ffi_str2ptr((payload307).property_name) + mbt_ffi_store32((iter_base) + 12, (payload307).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr308) + + match (payload307).value { + Text(payload309) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr310 = mbt_ffi_str2ptr(payload309) + mbt_ffi_store32((iter_base) + 28, payload309.length()) + mbt_ffi_store32((iter_base) + 24, ptr310) + cleanup_list.push(ptr310) + + () + } + Integer(payload311) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload311) + + () + } + Boolean(payload312) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload312 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr308) + + () + } + PropGt(payload313) => { + mbt_ffi_store8((iter_base) + 0, (2)) + + let ptr314 = mbt_ffi_str2ptr((payload313).property_name) + mbt_ffi_store32((iter_base) + 12, (payload313).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr314) + + match (payload313).value { + Text(payload315) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr316 = mbt_ffi_str2ptr(payload315) + mbt_ffi_store32((iter_base) + 28, payload315.length()) + mbt_ffi_store32((iter_base) + 24, ptr316) + cleanup_list.push(ptr316) + + () + } + Integer(payload317) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload317) + + () + } + Boolean(payload318) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload318 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr314) + + () + } + PropGte(payload319) => { + mbt_ffi_store8((iter_base) + 0, (3)) + + let ptr320 = mbt_ffi_str2ptr((payload319).property_name) + mbt_ffi_store32((iter_base) + 12, (payload319).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr320) + + match (payload319).value { + Text(payload321) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr322 = mbt_ffi_str2ptr(payload321) + mbt_ffi_store32((iter_base) + 28, payload321.length()) + mbt_ffi_store32((iter_base) + 24, ptr322) + cleanup_list.push(ptr322) + + () + } + Integer(payload323) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload323) + + () + } + Boolean(payload324) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload324 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr320) + + () + } + PropLt(payload325) => { + mbt_ffi_store8((iter_base) + 0, (4)) + + let ptr326 = mbt_ffi_str2ptr((payload325).property_name) + mbt_ffi_store32((iter_base) + 12, (payload325).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr326) + + match (payload325).value { + Text(payload327) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr328 = mbt_ffi_str2ptr(payload327) + mbt_ffi_store32((iter_base) + 28, payload327.length()) + mbt_ffi_store32((iter_base) + 24, ptr328) + cleanup_list.push(ptr328) + + () + } + Integer(payload329) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload329) + + () + } + Boolean(payload330) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload330 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr326) + + () + } + PropLte(payload331) => { + mbt_ffi_store8((iter_base) + 0, (5)) + + let ptr332 = mbt_ffi_str2ptr((payload331).property_name) + mbt_ffi_store32((iter_base) + 12, (payload331).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr332) + + match (payload331).value { + Text(payload333) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr334 = mbt_ffi_str2ptr(payload333) + mbt_ffi_store32((iter_base) + 28, payload333.length()) + mbt_ffi_store32((iter_base) + 24, ptr334) + cleanup_list.push(ptr334) + + () + } + Integer(payload335) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload335) + + () + } + Boolean(payload336) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload336 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr332) + + () + } + PropExists(payload337) => { + mbt_ffi_store8((iter_base) + 0, (6)) + + let ptr338 = mbt_ffi_str2ptr(payload337) + mbt_ffi_store32((iter_base) + 12, payload337.length()) + mbt_ffi_store32((iter_base) + 8, ptr338) + cleanup_list.push(ptr338) + + () + } + PropIn(payload339) => { + mbt_ffi_store8((iter_base) + 0, (7)) + + let ptr340 = mbt_ffi_str2ptr((payload339).property_name) + mbt_ffi_store32((iter_base) + 12, (payload339).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr340) + + let address345 = mbt_ffi_malloc(((payload339).values).length() * 16); + for index346 = 0; index346 < ((payload339).values).length(); index346 = index346 + 1 { + let iter_elem : @retry.PredicateValue = ((payload339).values)[(index346)] + let iter_base = address345 + (index346 * 16); + + match iter_elem { + Text(payload341) => { + mbt_ffi_store8((iter_base) + 0, (0)) + + let ptr342 = mbt_ffi_str2ptr(payload341) + mbt_ffi_store32((iter_base) + 12, payload341.length()) + mbt_ffi_store32((iter_base) + 8, ptr342) + cleanup_list.push(ptr342) + + () + } + Integer(payload343) => { + mbt_ffi_store8((iter_base) + 0, (1)) + mbt_ffi_store64((iter_base) + 8, payload343) + + () + } + Boolean(payload344) => { + mbt_ffi_store8((iter_base) + 0, (2)) + mbt_ffi_store8((iter_base) + 8, (if payload344 { 1 } else { 0 })) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 20, ((payload339).values).length()) + mbt_ffi_store32((iter_base) + 16, address345) + cleanup_list.push(ptr340) + cleanup_list.push(address345) + + () + } + PropMatches(payload347) => { + mbt_ffi_store8((iter_base) + 0, (8)) + + let ptr348 = mbt_ffi_str2ptr((payload347).property_name) + mbt_ffi_store32((iter_base) + 12, (payload347).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr348) + + let ptr349 = mbt_ffi_str2ptr((payload347).pattern) + mbt_ffi_store32((iter_base) + 20, (payload347).pattern.length()) + mbt_ffi_store32((iter_base) + 16, ptr349) + cleanup_list.push(ptr348) + cleanup_list.push(ptr349) + + () + } + PropStartsWith(payload350) => { + mbt_ffi_store8((iter_base) + 0, (9)) + + let ptr351 = mbt_ffi_str2ptr((payload350).property_name) + mbt_ffi_store32((iter_base) + 12, (payload350).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr351) + + let ptr352 = mbt_ffi_str2ptr((payload350).pattern) + mbt_ffi_store32((iter_base) + 20, (payload350).pattern.length()) + mbt_ffi_store32((iter_base) + 16, ptr352) + cleanup_list.push(ptr351) + cleanup_list.push(ptr352) + + () + } + PropContains(payload353) => { + mbt_ffi_store8((iter_base) + 0, (10)) + + let ptr354 = mbt_ffi_str2ptr((payload353).property_name) + mbt_ffi_store32((iter_base) + 12, (payload353).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr354) + + let ptr355 = mbt_ffi_str2ptr((payload353).pattern) + mbt_ffi_store32((iter_base) + 20, (payload353).pattern.length()) + mbt_ffi_store32((iter_base) + 16, ptr355) + cleanup_list.push(ptr354) + cleanup_list.push(ptr355) + + () + } + PredAnd(payload356) => { + mbt_ffi_store8((iter_base) + 0, (11)) + mbt_ffi_store32((iter_base) + 8, (payload356).0) + mbt_ffi_store32((iter_base) + 12, (payload356).1) + + () + } + PredOr(payload357) => { + mbt_ffi_store8((iter_base) + 0, (12)) + mbt_ffi_store32((iter_base) + 8, (payload357).0) + mbt_ffi_store32((iter_base) + 12, (payload357).1) + + () + } + PredNot(payload358) => { + mbt_ffi_store8((iter_base) + 0, (13)) + mbt_ffi_store32((iter_base) + 8, payload358) + + () + } + PredTrue => { + mbt_ffi_store8((iter_base) + 0, (14)) + + () + } + PredFalse => { + mbt_ffi_store8((iter_base) + 0, (15)) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 48, ((((payload299).policy).predicate).nodes).length()) + mbt_ffi_store32((iter_base) + 44, address361) + + let address439 = mbt_ffi_malloc(((((payload299).policy).policy).nodes).length() * 32); + for index440 = 0; index440 < ((((payload299).policy).policy).nodes).length(); index440 = index440 + 1 { + let iter_elem : @retry.PolicyNode = ((((payload299).policy).policy).nodes)[(index440)] + let iter_base = address439 + (index440 * 32); + + match iter_elem { + Periodic(payload363) => { + mbt_ffi_store8((iter_base) + 0, (0)) + mbt_ffi_store64((iter_base) + 8, (payload363).reinterpret_as_int64()) + + () + } + Exponential(payload364) => { + mbt_ffi_store8((iter_base) + 0, (1)) + mbt_ffi_store64((iter_base) + 8, ((payload364).base_delay).reinterpret_as_int64()) + mbt_ffi_storef64((iter_base) + 16, (payload364).factor) + + () + } + Fibonacci(payload365) => { + mbt_ffi_store8((iter_base) + 0, (2)) + mbt_ffi_store64((iter_base) + 8, ((payload365).first).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 16, ((payload365).second).reinterpret_as_int64()) + + () + } + Immediate => { + mbt_ffi_store8((iter_base) + 0, (3)) + + () + } + Never => { + mbt_ffi_store8((iter_base) + 0, (4)) + + () + } + CountBox(payload368) => { + mbt_ffi_store8((iter_base) + 0, (5)) + mbt_ffi_store32((iter_base) + 8, ((payload368).max_retries).reinterpret_as_int()) + mbt_ffi_store32((iter_base) + 12, (payload368).inner) + + () + } + TimeBox(payload369) => { + mbt_ffi_store8((iter_base) + 0, (6)) + mbt_ffi_store64((iter_base) + 8, ((payload369).limit).reinterpret_as_int64()) + mbt_ffi_store32((iter_base) + 16, (payload369).inner) + + () + } + ClampDelay(payload370) => { + mbt_ffi_store8((iter_base) + 0, (7)) + mbt_ffi_store64((iter_base) + 8, ((payload370).min_delay).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 16, ((payload370).max_delay).reinterpret_as_int64()) + mbt_ffi_store32((iter_base) + 24, (payload370).inner) + + () + } + AddDelay(payload371) => { + mbt_ffi_store8((iter_base) + 0, (8)) + mbt_ffi_store64((iter_base) + 8, ((payload371).delay).reinterpret_as_int64()) + mbt_ffi_store32((iter_base) + 16, (payload371).inner) + + () + } + Jitter(payload372) => { + mbt_ffi_store8((iter_base) + 0, (9)) + mbt_ffi_storef64((iter_base) + 8, (payload372).factor) + mbt_ffi_store32((iter_base) + 16, (payload372).inner) + + () + } + FilteredOn(payload373) => { + mbt_ffi_store8((iter_base) + 0, (10)) + + let address434 = mbt_ffi_malloc((((payload373).predicate).nodes).length() * 32); + for index435 = 0; index435 < (((payload373).predicate).nodes).length(); index435 = index435 + 1 { + let iter_elem : @retry.PredicateNode = (((payload373).predicate).nodes)[(index435)] + let iter_base = address434 + (index435 * 32); + + match iter_elem { + PropEq(payload374) => { + mbt_ffi_store8((iter_base) + 0, (0)) + + let ptr375 = mbt_ffi_str2ptr((payload374).property_name) + mbt_ffi_store32((iter_base) + 12, (payload374).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr375) + + match (payload374).value { + Text(payload376) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr377 = mbt_ffi_str2ptr(payload376) + mbt_ffi_store32((iter_base) + 28, payload376.length()) + mbt_ffi_store32((iter_base) + 24, ptr377) + cleanup_list.push(ptr377) + + () + } + Integer(payload378) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload378) + + () + } + Boolean(payload379) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload379 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr375) + + () + } + PropNeq(payload380) => { + mbt_ffi_store8((iter_base) + 0, (1)) + + let ptr381 = mbt_ffi_str2ptr((payload380).property_name) + mbt_ffi_store32((iter_base) + 12, (payload380).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr381) + + match (payload380).value { + Text(payload382) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr383 = mbt_ffi_str2ptr(payload382) + mbt_ffi_store32((iter_base) + 28, payload382.length()) + mbt_ffi_store32((iter_base) + 24, ptr383) + cleanup_list.push(ptr383) + + () + } + Integer(payload384) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload384) + + () + } + Boolean(payload385) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload385 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr381) + + () + } + PropGt(payload386) => { + mbt_ffi_store8((iter_base) + 0, (2)) + + let ptr387 = mbt_ffi_str2ptr((payload386).property_name) + mbt_ffi_store32((iter_base) + 12, (payload386).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr387) + + match (payload386).value { + Text(payload388) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr389 = mbt_ffi_str2ptr(payload388) + mbt_ffi_store32((iter_base) + 28, payload388.length()) + mbt_ffi_store32((iter_base) + 24, ptr389) + cleanup_list.push(ptr389) + + () + } + Integer(payload390) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload390) + + () + } + Boolean(payload391) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload391 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr387) + + () + } + PropGte(payload392) => { + mbt_ffi_store8((iter_base) + 0, (3)) + + let ptr393 = mbt_ffi_str2ptr((payload392).property_name) + mbt_ffi_store32((iter_base) + 12, (payload392).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr393) + + match (payload392).value { + Text(payload394) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr395 = mbt_ffi_str2ptr(payload394) + mbt_ffi_store32((iter_base) + 28, payload394.length()) + mbt_ffi_store32((iter_base) + 24, ptr395) + cleanup_list.push(ptr395) + + () + } + Integer(payload396) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload396) + + () + } + Boolean(payload397) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload397 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr393) + + () + } + PropLt(payload398) => { + mbt_ffi_store8((iter_base) + 0, (4)) + + let ptr399 = mbt_ffi_str2ptr((payload398).property_name) + mbt_ffi_store32((iter_base) + 12, (payload398).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr399) + + match (payload398).value { + Text(payload400) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr401 = mbt_ffi_str2ptr(payload400) + mbt_ffi_store32((iter_base) + 28, payload400.length()) + mbt_ffi_store32((iter_base) + 24, ptr401) + cleanup_list.push(ptr401) + + () + } + Integer(payload402) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload402) + + () + } + Boolean(payload403) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload403 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr399) + + () + } + PropLte(payload404) => { + mbt_ffi_store8((iter_base) + 0, (5)) + + let ptr405 = mbt_ffi_str2ptr((payload404).property_name) + mbt_ffi_store32((iter_base) + 12, (payload404).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr405) + + match (payload404).value { + Text(payload406) => { + mbt_ffi_store8((iter_base) + 16, (0)) + + let ptr407 = mbt_ffi_str2ptr(payload406) + mbt_ffi_store32((iter_base) + 28, payload406.length()) + mbt_ffi_store32((iter_base) + 24, ptr407) + cleanup_list.push(ptr407) + + () + } + Integer(payload408) => { + mbt_ffi_store8((iter_base) + 16, (1)) + mbt_ffi_store64((iter_base) + 24, payload408) + + () + } + Boolean(payload409) => { + mbt_ffi_store8((iter_base) + 16, (2)) + mbt_ffi_store8((iter_base) + 24, (if payload409 { 1 } else { 0 })) + + () + } + } + cleanup_list.push(ptr405) + + () + } + PropExists(payload410) => { + mbt_ffi_store8((iter_base) + 0, (6)) + + let ptr411 = mbt_ffi_str2ptr(payload410) + mbt_ffi_store32((iter_base) + 12, payload410.length()) + mbt_ffi_store32((iter_base) + 8, ptr411) + cleanup_list.push(ptr411) + + () + } + PropIn(payload412) => { + mbt_ffi_store8((iter_base) + 0, (7)) + + let ptr413 = mbt_ffi_str2ptr((payload412).property_name) + mbt_ffi_store32((iter_base) + 12, (payload412).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr413) + + let address418 = mbt_ffi_malloc(((payload412).values).length() * 16); + for index419 = 0; index419 < ((payload412).values).length(); index419 = index419 + 1 { + let iter_elem : @retry.PredicateValue = ((payload412).values)[(index419)] + let iter_base = address418 + (index419 * 16); + + match iter_elem { + Text(payload414) => { + mbt_ffi_store8((iter_base) + 0, (0)) + + let ptr415 = mbt_ffi_str2ptr(payload414) + mbt_ffi_store32((iter_base) + 12, payload414.length()) + mbt_ffi_store32((iter_base) + 8, ptr415) + cleanup_list.push(ptr415) + + () + } + Integer(payload416) => { + mbt_ffi_store8((iter_base) + 0, (1)) + mbt_ffi_store64((iter_base) + 8, payload416) + + () + } + Boolean(payload417) => { + mbt_ffi_store8((iter_base) + 0, (2)) + mbt_ffi_store8((iter_base) + 8, (if payload417 { 1 } else { 0 })) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 20, ((payload412).values).length()) + mbt_ffi_store32((iter_base) + 16, address418) + cleanup_list.push(ptr413) + cleanup_list.push(address418) + + () + } + PropMatches(payload420) => { + mbt_ffi_store8((iter_base) + 0, (8)) + + let ptr421 = mbt_ffi_str2ptr((payload420).property_name) + mbt_ffi_store32((iter_base) + 12, (payload420).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr421) + + let ptr422 = mbt_ffi_str2ptr((payload420).pattern) + mbt_ffi_store32((iter_base) + 20, (payload420).pattern.length()) + mbt_ffi_store32((iter_base) + 16, ptr422) + cleanup_list.push(ptr421) + cleanup_list.push(ptr422) + + () + } + PropStartsWith(payload423) => { + mbt_ffi_store8((iter_base) + 0, (9)) + + let ptr424 = mbt_ffi_str2ptr((payload423).property_name) + mbt_ffi_store32((iter_base) + 12, (payload423).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr424) + + let ptr425 = mbt_ffi_str2ptr((payload423).pattern) + mbt_ffi_store32((iter_base) + 20, (payload423).pattern.length()) + mbt_ffi_store32((iter_base) + 16, ptr425) + cleanup_list.push(ptr424) + cleanup_list.push(ptr425) + + () + } + PropContains(payload426) => { + mbt_ffi_store8((iter_base) + 0, (10)) + + let ptr427 = mbt_ffi_str2ptr((payload426).property_name) + mbt_ffi_store32((iter_base) + 12, (payload426).property_name.length()) + mbt_ffi_store32((iter_base) + 8, ptr427) + + let ptr428 = mbt_ffi_str2ptr((payload426).pattern) + mbt_ffi_store32((iter_base) + 20, (payload426).pattern.length()) + mbt_ffi_store32((iter_base) + 16, ptr428) + cleanup_list.push(ptr427) + cleanup_list.push(ptr428) + + () + } + PredAnd(payload429) => { + mbt_ffi_store8((iter_base) + 0, (11)) + mbt_ffi_store32((iter_base) + 8, (payload429).0) + mbt_ffi_store32((iter_base) + 12, (payload429).1) + + () + } + PredOr(payload430) => { + mbt_ffi_store8((iter_base) + 0, (12)) + mbt_ffi_store32((iter_base) + 8, (payload430).0) + mbt_ffi_store32((iter_base) + 12, (payload430).1) + + () + } + PredNot(payload431) => { + mbt_ffi_store8((iter_base) + 0, (13)) + mbt_ffi_store32((iter_base) + 8, payload431) + + () + } + PredTrue => { + mbt_ffi_store8((iter_base) + 0, (14)) + + () + } + PredFalse => { + mbt_ffi_store8((iter_base) + 0, (15)) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 12, (((payload373).predicate).nodes).length()) + mbt_ffi_store32((iter_base) + 8, address434) + mbt_ffi_store32((iter_base) + 16, (payload373).inner) + cleanup_list.push(address434) + + () + } + AndThen(payload436) => { + mbt_ffi_store8((iter_base) + 0, (11)) + mbt_ffi_store32((iter_base) + 8, (payload436).0) + mbt_ffi_store32((iter_base) + 12, (payload436).1) + + () + } + PolicyUnion(payload437) => { + mbt_ffi_store8((iter_base) + 0, (12)) + mbt_ffi_store32((iter_base) + 8, (payload437).0) + mbt_ffi_store32((iter_base) + 12, (payload437).1) + + () + } + PolicyIntersect(payload438) => { + mbt_ffi_store8((iter_base) + 0, (13)) + mbt_ffi_store32((iter_base) + 8, (payload438).0) + mbt_ffi_store32((iter_base) + 12, (payload438).1) + + () + } + } + + } + mbt_ffi_store32((iter_base) + 56, ((((payload299).policy).policy).nodes).length()) + mbt_ffi_store32((iter_base) + 52, address439) + cleanup_list.push(ptr300) + cleanup_list.push(address361) + cleanup_list.push(address439) + + () + } + RemoveRetryPolicy(payload441) => { + mbt_ffi_store8((iter_base) + 8, (39)) + mbt_ffi_store64((iter_base) + 16, ((payload441).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload441).timestamp).nanoseconds).reinterpret_as_int()) + + let ptr442 = mbt_ffi_str2ptr((payload441).name) + mbt_ffi_store32((iter_base) + 36, (payload441).name.length()) + mbt_ffi_store32((iter_base) + 32, ptr442) + cleanup_list.push(ptr442) + + () + } + CardEventQueued(payload443) => { + mbt_ffi_store8((iter_base) + 8, (40)) + mbt_ffi_store64((iter_base) + 16, ((payload443).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload443).timestamp).nanoseconds).reinterpret_as_int()) + + match (payload443).event { + Install(payload444) => { + mbt_ffi_store8((iter_base) + 32, (0)) + mbt_ffi_store64((iter_base) + 40, ((((payload444).card_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, ((((payload444).card_id).uuid).low_bits).reinterpret_as_int64()) + + () + } + Revoke(payload445) => { + mbt_ffi_store8((iter_base) + 32, (1)) + mbt_ffi_store64((iter_base) + 40, ((((payload445).card_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, ((((payload445).card_id).uuid).low_bits).reinterpret_as_int64()) + + () + } + } + + () + } + CardInstalled(payload446) => { + mbt_ffi_store8((iter_base) + 8, (41)) + mbt_ffi_store64((iter_base) + 16, ((payload446).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload446).timestamp).nanoseconds).reinterpret_as_int()) + + match ((payload446).queued_event_index) { + None => { + mbt_ffi_store8((iter_base) + 32, (0)) + + () + } + Some(payload448) => { + mbt_ffi_store8((iter_base) + 32, (1)) + mbt_ffi_store64((iter_base) + 40, (payload448).reinterpret_as_int64()) + + () + } + } + + let ptr449 = mbt_ffi_bytes2ptr((payload446).card) + + mbt_ffi_store32((iter_base) + 52, (payload446).card.length()) + mbt_ffi_store32((iter_base) + 48, ptr449) + cleanup_list.push(ptr449) + + () + } + CardInstallFailed(payload450) => { + mbt_ffi_store8((iter_base) + 8, (42)) + mbt_ffi_store64((iter_base) + 16, ((payload450).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload450).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload450).queued_event_index).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, ((((payload450).card_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, ((((payload450).card_id).uuid).low_bits).reinterpret_as_int64()) + mbt_ffi_store8((iter_base) + 56, (payload450).reason.ordinal()) + + () + } + CardRevoked(payload451) => { + mbt_ffi_store8((iter_base) + 8, (43)) + mbt_ffi_store64((iter_base) + 16, ((payload451).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload451).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload451).queued_event_index).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, ((((payload451).card_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 48, ((((payload451).card_id).uuid).low_bits).reinterpret_as_int64()) + + () + } + CardExpired(payload452) => { + mbt_ffi_store8((iter_base) + 8, (44)) + mbt_ffi_store64((iter_base) + 16, ((payload452).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload452).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((((payload452).card_id).uuid).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 40, ((((payload452).card_id).uuid).low_bits).reinterpret_as_int64()) + + () + } + HostStreamFrame(payload453) => { + mbt_ffi_store8((iter_base) + 8, (45)) + mbt_ffi_store64((iter_base) + 16, ((payload453).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload453).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload453).parent_start_index).reinterpret_as_int64()) + mbt_ffi_store8((iter_base) + 40, (payload453).kind.ordinal()) + + match (payload453).payload { + Inline(payload454) => { + mbt_ffi_store8((iter_base) + 48, (0)) + + let ptr455 = mbt_ffi_bytes2ptr(payload454) + + mbt_ffi_store32((iter_base) + 60, payload454.length()) + mbt_ffi_store32((iter_base) + 56, ptr455) + cleanup_list.push(ptr455) + + () + } + External(payload456) => { + mbt_ffi_store8((iter_base) + 48, (1)) + mbt_ffi_store64((iter_base) + 56, (((payload456).payload_id).high_bits).reinterpret_as_int64()) + mbt_ffi_store64((iter_base) + 64, (((payload456).payload_id).low_bits).reinterpret_as_int64()) + + let ptr457 = mbt_ffi_bytes2ptr((payload456).md5_hash) + + mbt_ffi_store32((iter_base) + 76, (payload456).md5_hash.length()) + mbt_ffi_store32((iter_base) + 72, ptr457) + cleanup_list.push(ptr457) + + () + } + } + + () + } + CompletionDiscarded(payload458) => { + mbt_ffi_store8((iter_base) + 8, (46)) + mbt_ffi_store64((iter_base) + 16, ((payload458).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload458).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload458).start_index).reinterpret_as_int64()) + + () + } + CompletionDelivered(payload459) => { + mbt_ffi_store8((iter_base) + 8, (47)) + mbt_ffi_store64((iter_base) + 16, ((payload459).timestamp).seconds) + mbt_ffi_store32((iter_base) + 24, (((payload459).timestamp).nanoseconds).reinterpret_as_int()) + mbt_ffi_store64((iter_base) + 32, ((payload459).start_index).reinterpret_as_int64()) + + () + } + } + + } + let return_area = mbt_ffi_malloc(12) + wasmImportEnrichOplogEntries((((environment_id).uuid).high_bits).reinterpret_as_int64(), (((environment_id).uuid).low_bits).reinterpret_as_int64(), ((((agent_id).component_id).uuid).high_bits).reinterpret_as_int64(), ((((agent_id).component_id).uuid).low_bits).reinterpret_as_int64(), ptr, (agent_id).agent_id.length(), address460, (entries).length(), (component_revision).reinterpret_as_int64(), return_area); + + let lifted3302 = match (mbt_ffi_load8_u((return_area) + 0)) { + 0 => { + + let array3299 : Array[PublicOplogEntry] = []; + for index3300 = 0; index3300 < (mbt_ffi_load32((return_area) + 8)); index3300 = index3300 + 1 { + let iter_base = (mbt_ffi_load32((return_area) + 4)) + (index3300 * 208) + + let lifted3298 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let array : Array[(String, String)] = []; + for index464 = 0; index464 < (mbt_ffi_load32((iter_base) + 68)); index464 = index464 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index464 * 16) + + let result462 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result463 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array.push((result462, result463)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + let lifted : @types.AgentId? = match mbt_ffi_load8_u((iter_base) + 104) { + 0 => Option::None + 1 => { + + let result465 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 128), mbt_ffi_load32((iter_base) + 132)) + + Option::Some(@types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 112)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 120)).reinterpret_as_uint64()}}, agent_id : result465}) + } + _ => panic() + } + + let array472 : Array[PluginInstallationDescription] = []; + for index473 = 0; index473 < (mbt_ffi_load32((iter_base) + 156)); index473 = index473 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 152)) + (index473 * 48) + + let result466 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + let result467 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let array470 : Array[(String, String)] = []; + for index471 = 0; index471 < (mbt_ffi_load32((iter_base) + 40)); index471 = index471 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index471 * 16) + + let result468 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result469 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array470.push((result468, result469)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + array472.push(PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 0)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 16), plugin_name : result466, plugin_version : result467, parameters : array470}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 152)) + + let array711 : Array[LocalAgentConfigEntry] = []; + for index712 = 0; index712 < (mbt_ffi_load32((iter_base) + 164)); index712 = index712 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 160)) + (index712 * 40) + + let array475 : Array[String] = []; + for index476 = 0; index476 < (mbt_ffi_load32((iter_base) + 4)); index476 = index476 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index476 * 8) + + let result474 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array475.push(result474) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + let array673 : Array[@types.SchemaTypeNode] = []; + for index674 = 0; index674 < (mbt_ffi_load32((iter_base) + 12)); index674 = index674 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index674 * 144) + + let lifted659 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted483 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted478 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted477 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted477) + } + _ => panic() + } + + let lifted480 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted479 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted479) + } + _ => panic() + } + + let lifted482 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result481 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result481) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted478, max : lifted480, unit : lifted482}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted483) + } + 3 => { + + let lifted490 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted485 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted484 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted484) + } + _ => panic() + } + + let lifted487 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted486 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted486) + } + _ => panic() + } + + let lifted489 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result488 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result488) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted485, max : lifted487, unit : lifted489}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted490) + } + 4 => { + + let lifted497 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted492 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted491 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted491) + } + _ => panic() + } + + let lifted494 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted493 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted493) + } + _ => panic() + } + + let lifted496 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result495 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result495) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted492, max : lifted494, unit : lifted496}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted497) + } + 5 => { + + let lifted504 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted499 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted498 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted498) + } + _ => panic() + } + + let lifted501 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted500 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted500) + } + _ => panic() + } + + let lifted503 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result502 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result502) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted499, max : lifted501, unit : lifted503}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted504) + } + 6 => { + + let lifted511 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted506 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted505 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted505) + } + _ => panic() + } + + let lifted508 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted507 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted507) + } + _ => panic() + } + + let lifted510 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result509 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result509) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted506, max : lifted508, unit : lifted510}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted511) + } + 7 => { + + let lifted518 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted513 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted512 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted512) + } + _ => panic() + } + + let lifted515 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted514 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted514) + } + _ => panic() + } + + let lifted517 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result516 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result516) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted513, max : lifted515, unit : lifted517}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted518) + } + 8 => { + + let lifted525 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted520 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted519 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted519) + } + _ => panic() + } + + let lifted522 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted521 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted521) + } + _ => panic() + } + + let lifted524 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result523 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result523) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted520, max : lifted522, unit : lifted524}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted525) + } + 9 => { + + let lifted532 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted527 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted526 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted526) + } + _ => panic() + } + + let lifted529 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted528 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted528) + } + _ => panic() + } + + let lifted531 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result530 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result530) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted527, max : lifted529, unit : lifted531}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted532) + } + 10 => { + + let lifted539 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted534 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted533 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted533) + } + _ => panic() + } + + let lifted536 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted535 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted535) + } + _ => panic() + } + + let lifted538 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result537 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result537) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted534, max : lifted536, unit : lifted538}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted539) + } + 11 => { + + let lifted546 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted541 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted540 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted540) + } + _ => panic() + } + + let lifted543 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted542 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted542) + } + _ => panic() + } + + let lifted545 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result544 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result544) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted541, max : lifted543, unit : lifted545}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted546) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array561 : Array[@types.NamedFieldType] = []; + for index562 = 0; index562 < (mbt_ffi_load32((iter_base) + 12)); index562 = index562 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index562 * 68) + + let result547 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted549 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result548 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result548) + } + _ => panic() + } + + let array551 : Array[String] = []; + for index552 = 0; index552 < (mbt_ffi_load32((iter_base) + 28)); index552 = index552 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index552 * 8) + + let result550 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array551.push(result550) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array554 : Array[String] = []; + for index555 = 0; index555 < (mbt_ffi_load32((iter_base) + 36)); index555 = index555 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index555 * 8) + + let result553 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array554.push(result553) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted557 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result556 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result556) + } + _ => panic() + } + + let lifted560 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted559 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result558 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result558) + } + _ => panic() + } + + Option::Some(lifted559) + } + _ => panic() + } + + array561.push(@types.NamedFieldType::{name : result547, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted549, aliases : array551, examples : array554, deprecated : lifted557, role : lifted560}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array561) + } + 15 => { + + let array578 : Array[@types.VariantCaseType] = []; + for index579 = 0; index579 < (mbt_ffi_load32((iter_base) + 12)); index579 = index579 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index579 * 72) + + let result563 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted564 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted566 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result565 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result565) + } + _ => panic() + } + + let array568 : Array[String] = []; + for index569 = 0; index569 < (mbt_ffi_load32((iter_base) + 32)); index569 = index569 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index569 * 8) + + let result567 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array568.push(result567) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array571 : Array[String] = []; + for index572 = 0; index572 < (mbt_ffi_load32((iter_base) + 40)); index572 = index572 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index572 * 8) + + let result570 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array571.push(result570) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted574 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result573 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result573) + } + _ => panic() + } + + let lifted577 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted576 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result575 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result575) + } + _ => panic() + } + + Option::Some(lifted576) + } + _ => panic() + } + + array578.push(@types.VariantCaseType::{name : result563, payload : lifted564, metadata : @types.MetadataEnvelope::{doc : lifted566, aliases : array568, examples : array571, deprecated : lifted574, role : lifted577}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array578) + } + 16 => { + + let array581 : Array[String] = []; + for index582 = 0; index582 < (mbt_ffi_load32((iter_base) + 12)); index582 = index582 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index582 * 8) + + let result580 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array581.push(result580) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array581) + } + 17 => { + + let array584 : Array[String] = []; + for index585 = 0; index585 < (mbt_ffi_load32((iter_base) + 12)); index585 = index585 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index585 * 8) + + let result583 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array584.push(result583) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array584) + } + 18 => { + + let array586 : Array[Int] = []; + for index587 = 0; index587 < (mbt_ffi_load32((iter_base) + 12)); index587 = index587 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index587 * 4) + + array586.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array586) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted588 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted589 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted588, err : lifted589}) + } + 24 => { + + let lifted593 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array591 : Array[String] = []; + for index592 = 0; index592 < (mbt_ffi_load32((iter_base) + 16)); index592 = index592 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index592 * 8) + + let result590 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array591.push(result590) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array591) + } + _ => panic() + } + + let lifted594 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted595 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted597 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result596 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result596) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted593, min_length : lifted594, max_length : lifted595, regex : lifted597}) + } + 25 => { + + let lifted601 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array599 : Array[String] = []; + for index600 = 0; index600 < (mbt_ffi_load32((iter_base) + 16)); index600 = index600 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index600 * 8) + + let result598 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array599.push(result598) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array599) + } + _ => panic() + } + + let lifted602 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted603 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted601, min_bytes : lifted602, max_bytes : lifted603}) + } + 26 => { + + let lifted607 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array605 : Array[String] = []; + for index606 = 0; index606 < (mbt_ffi_load32((iter_base) + 20)); index606 = index606 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index606 * 8) + + let result604 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array605.push(result604) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array605) + } + _ => panic() + } + + let lifted611 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array609 : Array[String] = []; + for index610 = 0; index610 < (mbt_ffi_load32((iter_base) + 32)); index610 = index610 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index610 * 8) + + let result608 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array609.push(result608) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array609) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted607, allowed_extensions : lifted611}) + } + 27 => { + + let lifted615 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array613 : Array[String] = []; + for index614 = 0; index614 < (mbt_ffi_load32((iter_base) + 16)); index614 = index614 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index614 * 8) + + let result612 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array613.push(result612) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array613) + } + _ => panic() + } + + let lifted619 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array617 : Array[String] = []; + for index618 = 0; index618 < (mbt_ffi_load32((iter_base) + 28)); index618 = index618 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index618 * 8) + + let result616 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array617.push(result616) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array617) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted615, allowed_hosts : lifted619}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result620 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array622 : Array[String] = []; + for index623 = 0; index623 < (mbt_ffi_load32((iter_base) + 20)); index623 = index623 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index623 * 8) + + let result621 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array622.push(result621) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted625 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result624 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result624}) + } + _ => panic() + } + + let lifted627 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result626 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result626}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result620, allowed_suffixes : array622, min : lifted625, max : lifted627}) + } + 31 => { + + let array651 : Array[@types.UnionBranch] = []; + for index652 = 0; index652 < (mbt_ffi_load32((iter_base) + 12)); index652 = index652 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index652 * 92) + + let result628 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted637 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result629 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result629) + } + 1 => { + + let result630 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result630) + } + 2 => { + + let result631 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result631) + } + 3 => { + + let result632 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result632) + } + 4 => { + + let result633 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted635 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result634 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result634) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result633, literal : lifted635}) + } + 5 => { + + let result636 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result636) + } + _ => panic() + } + + let lifted639 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result638 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result638) + } + _ => panic() + } + + let array641 : Array[String] = []; + for index642 = 0; index642 < (mbt_ffi_load32((iter_base) + 52)); index642 = index642 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index642 * 8) + + let result640 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array641.push(result640) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array644 : Array[String] = []; + for index645 = 0; index645 < (mbt_ffi_load32((iter_base) + 60)); index645 = index645 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index645 * 8) + + let result643 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array644.push(result643) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted647 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result646 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result646) + } + _ => panic() + } + + let lifted650 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted649 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result648 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result648) + } + _ => panic() + } + + Option::Some(lifted649) + } + _ => panic() + } + + array651.push(@types.UnionBranch::{tag : result628, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted637, metadata : @types.MetadataEnvelope::{doc : lifted639, aliases : array641, examples : array644, deprecated : lifted647, role : lifted650}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array651}) + } + 32 => { + + let lifted654 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result653 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result653) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted654}) + } + 33 => { + + let lifted656 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result655 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result655) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted656}) + } + 34 => { + + let lifted657 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted657) + } + 35 => { + + let lifted658 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted658) + } + _ => panic() + } + + let lifted661 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result660 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result660) + } + _ => panic() + } + + let array663 : Array[String] = []; + for index664 = 0; index664 < (mbt_ffi_load32((iter_base) + 104)); index664 = index664 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index664 * 8) + + let result662 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array663.push(result662) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array666 : Array[String] = []; + for index667 = 0; index667 < (mbt_ffi_load32((iter_base) + 112)); index667 = index667 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index667 * 8) + + let result665 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array666.push(result665) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted669 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result668 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result668) + } + _ => panic() + } + + let lifted672 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted671 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result670 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result670) + } + _ => panic() + } + + Option::Some(lifted671) + } + _ => panic() + } + + array673.push(@types.SchemaTypeNode::{body : lifted659, metadata : @types.MetadataEnvelope::{doc : lifted661, aliases : array663, examples : array666, deprecated : lifted669, role : lifted672}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + let array678 : Array[@types.SchemaTypeDef] = []; + for index679 = 0; index679 < (mbt_ffi_load32((iter_base) + 20)); index679 = index679 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index679 * 24) + + let result675 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted677 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result676 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result676) + } + _ => panic() + } + + array678.push(@types.SchemaTypeDef::{id : result675, name : lifted677, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let array709 : Array[@types.SchemaValueNode] = []; + for index710 = 0; index710 < (mbt_ffi_load32((iter_base) + 32)); index710 = index710 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index710 * 32) + + let lifted708 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result680 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result680) + } + 13 => { + + let array681 : Array[Int] = []; + for index682 = 0; index682 < (mbt_ffi_load32((iter_base) + 12)); index682 = index682 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index682 * 4) + + array681.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array681) + } + 14 => { + + let lifted683 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted683}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array684 : Array[Bool] = []; + for index685 = 0; index685 < (mbt_ffi_load32((iter_base) + 12)); index685 = index685 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index685 * 1) + + array684.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array684) + } + 17 => { + + let array686 : Array[Int] = []; + for index687 = 0; index687 < (mbt_ffi_load32((iter_base) + 12)); index687 = index687 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index687 * 4) + + array686.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array686) + } + 18 => { + + let array688 : Array[Int] = []; + for index689 = 0; index689 < (mbt_ffi_load32((iter_base) + 12)); index689 = index689 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index689 * 4) + + array688.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array688) + } + 19 => { + + let array690 : Array[Int] = []; + for index691 = 0; index691 < (mbt_ffi_load32((iter_base) + 12)); index691 = index691 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index691 * 4) + + array690.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array690) + } + 20 => { + + let array692 : Array[@types.MapEntry] = []; + for index693 = 0; index693 < (mbt_ffi_load32((iter_base) + 12)); index693 = index693 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index693 * 8) + + array692.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array692) + } + 21 => { + + let lifted694 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted694) + } + 22 => { + + let lifted697 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted695 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted695) + } + 1 => { + + let lifted696 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted696) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted697) + } + 23 => { + + let result698 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted700 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result699 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result699) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result698, language : lifted700}) + } + 24 => { + + let result701 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted703 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result702 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result702) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result701, mime_type : lifted703}) + } + 25 => { + + let result704 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result704) + } + 26 => { + + let result705 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result705) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result706 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result706}) + } + 30 => { + + let result707 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result707, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array709.push(lifted708) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + array711.push(LocalAgentConfigEntry::{path : array475, value : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array673, defs : array678, root : mbt_ffi_load32((iter_base) + 24)}, value : @types.SchemaValueTree::{value_nodes : array709, root : mbt_ffi_load32((iter_base) + 36)}}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 160)) + + let lifted713 : @types.Uuid? = match mbt_ffi_load8_u((iter_base) + 168) { + 0 => Option::None + 1 => { + + Option::Some(@types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 176)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 184)).reinterpret_as_uint64()}) + } + _ => panic() + } + + PublicOplogEntry::Create(CreateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, agent_id : @types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, agent_id : result}, agent_mode : AgentMode::from(mbt_ffi_load8_u((iter_base) + 48)), component_revision : (mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64(), env : array, created_by : @types.AccountId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 72)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()}}, environment_id : @host.EnvironmentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 88)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 96)).reinterpret_as_uint64()}}, parent : lifted, component_size : (mbt_ffi_load64((iter_base) + 136)).reinterpret_as_uint64(), initial_total_linear_memory_size : (mbt_ffi_load64((iter_base) + 144)).reinterpret_as_uint64(), initial_active_plugins : array472, local_agent_config : array711, original_phantom_id : lifted713, instance_id : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 192)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 200)).reinterpret_as_uint64()}}) + } + 1 => { + + let lifted714 : UInt64? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + let result715 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let lifted716 : @types.Uuid? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some(@types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 64)).reinterpret_as_uint64()}) + } + _ => panic() + } + + let lifted717 : UInt64? = match mbt_ffi_load8_u((iter_base) + 72) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()) + } + _ => panic() + } + + let lifted952 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let array914 : Array[@types.SchemaTypeNode] = []; + for index915 = 0; index915 < (mbt_ffi_load32((iter_base) + 96)); index915 = index915 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 92)) + (index915 * 144) + + let lifted900 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted724 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted719 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted718 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted718) + } + _ => panic() + } + + let lifted721 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted720 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted720) + } + _ => panic() + } + + let lifted723 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result722 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result722) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted719, max : lifted721, unit : lifted723}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted724) + } + 3 => { + + let lifted731 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted726 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted725 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted725) + } + _ => panic() + } + + let lifted728 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted727 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted727) + } + _ => panic() + } + + let lifted730 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result729 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result729) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted726, max : lifted728, unit : lifted730}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted731) + } + 4 => { + + let lifted738 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted733 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted732 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted732) + } + _ => panic() + } + + let lifted735 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted734 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted734) + } + _ => panic() + } + + let lifted737 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result736 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result736) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted733, max : lifted735, unit : lifted737}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted738) + } + 5 => { + + let lifted745 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted740 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted739 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted739) + } + _ => panic() + } + + let lifted742 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted741 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted741) + } + _ => panic() + } + + let lifted744 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result743 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result743) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted740, max : lifted742, unit : lifted744}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted745) + } + 6 => { + + let lifted752 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted747 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted746 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted746) + } + _ => panic() + } + + let lifted749 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted748 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted748) + } + _ => panic() + } + + let lifted751 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result750 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result750) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted747, max : lifted749, unit : lifted751}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted752) + } + 7 => { + + let lifted759 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted754 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted753 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted753) + } + _ => panic() + } + + let lifted756 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted755 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted755) + } + _ => panic() + } + + let lifted758 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result757 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result757) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted754, max : lifted756, unit : lifted758}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted759) + } + 8 => { + + let lifted766 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted761 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted760 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted760) + } + _ => panic() + } + + let lifted763 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted762 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted762) + } + _ => panic() + } + + let lifted765 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result764 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result764) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted761, max : lifted763, unit : lifted765}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted766) + } + 9 => { + + let lifted773 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted768 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted767 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted767) + } + _ => panic() + } + + let lifted770 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted769 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted769) + } + _ => panic() + } + + let lifted772 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result771 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result771) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted768, max : lifted770, unit : lifted772}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted773) + } + 10 => { + + let lifted780 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted775 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted774 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted774) + } + _ => panic() + } + + let lifted777 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted776 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted776) + } + _ => panic() + } + + let lifted779 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result778 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result778) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted775, max : lifted777, unit : lifted779}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted780) + } + 11 => { + + let lifted787 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted782 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted781 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted781) + } + _ => panic() + } + + let lifted784 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted783 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted783) + } + _ => panic() + } + + let lifted786 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result785 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result785) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted782, max : lifted784, unit : lifted786}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted787) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array802 : Array[@types.NamedFieldType] = []; + for index803 = 0; index803 < (mbt_ffi_load32((iter_base) + 12)); index803 = index803 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index803 * 68) + + let result788 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted790 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result789 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result789) + } + _ => panic() + } + + let array792 : Array[String] = []; + for index793 = 0; index793 < (mbt_ffi_load32((iter_base) + 28)); index793 = index793 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index793 * 8) + + let result791 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array792.push(result791) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array795 : Array[String] = []; + for index796 = 0; index796 < (mbt_ffi_load32((iter_base) + 36)); index796 = index796 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index796 * 8) + + let result794 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array795.push(result794) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted798 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result797 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result797) + } + _ => panic() + } + + let lifted801 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted800 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result799 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result799) + } + _ => panic() + } + + Option::Some(lifted800) + } + _ => panic() + } + + array802.push(@types.NamedFieldType::{name : result788, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted790, aliases : array792, examples : array795, deprecated : lifted798, role : lifted801}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array802) + } + 15 => { + + let array819 : Array[@types.VariantCaseType] = []; + for index820 = 0; index820 < (mbt_ffi_load32((iter_base) + 12)); index820 = index820 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index820 * 72) + + let result804 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted805 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted807 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result806 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result806) + } + _ => panic() + } + + let array809 : Array[String] = []; + for index810 = 0; index810 < (mbt_ffi_load32((iter_base) + 32)); index810 = index810 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index810 * 8) + + let result808 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array809.push(result808) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array812 : Array[String] = []; + for index813 = 0; index813 < (mbt_ffi_load32((iter_base) + 40)); index813 = index813 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index813 * 8) + + let result811 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array812.push(result811) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted815 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result814 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result814) + } + _ => panic() + } + + let lifted818 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted817 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result816 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result816) + } + _ => panic() + } + + Option::Some(lifted817) + } + _ => panic() + } + + array819.push(@types.VariantCaseType::{name : result804, payload : lifted805, metadata : @types.MetadataEnvelope::{doc : lifted807, aliases : array809, examples : array812, deprecated : lifted815, role : lifted818}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array819) + } + 16 => { + + let array822 : Array[String] = []; + for index823 = 0; index823 < (mbt_ffi_load32((iter_base) + 12)); index823 = index823 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index823 * 8) + + let result821 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array822.push(result821) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array822) + } + 17 => { + + let array825 : Array[String] = []; + for index826 = 0; index826 < (mbt_ffi_load32((iter_base) + 12)); index826 = index826 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index826 * 8) + + let result824 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array825.push(result824) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array825) + } + 18 => { + + let array827 : Array[Int] = []; + for index828 = 0; index828 < (mbt_ffi_load32((iter_base) + 12)); index828 = index828 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index828 * 4) + + array827.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array827) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted829 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted830 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted829, err : lifted830}) + } + 24 => { + + let lifted834 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array832 : Array[String] = []; + for index833 = 0; index833 < (mbt_ffi_load32((iter_base) + 16)); index833 = index833 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index833 * 8) + + let result831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array832.push(result831) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array832) + } + _ => panic() + } + + let lifted835 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted836 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted838 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result837 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result837) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted834, min_length : lifted835, max_length : lifted836, regex : lifted838}) + } + 25 => { + + let lifted842 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array840 : Array[String] = []; + for index841 = 0; index841 < (mbt_ffi_load32((iter_base) + 16)); index841 = index841 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index841 * 8) + + let result839 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array840.push(result839) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array840) + } + _ => panic() + } + + let lifted843 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted844 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted842, min_bytes : lifted843, max_bytes : lifted844}) + } + 26 => { + + let lifted848 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array846 : Array[String] = []; + for index847 = 0; index847 < (mbt_ffi_load32((iter_base) + 20)); index847 = index847 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index847 * 8) + + let result845 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array846.push(result845) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array846) + } + _ => panic() + } + + let lifted852 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array850 : Array[String] = []; + for index851 = 0; index851 < (mbt_ffi_load32((iter_base) + 32)); index851 = index851 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index851 * 8) + + let result849 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array850.push(result849) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array850) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted848, allowed_extensions : lifted852}) + } + 27 => { + + let lifted856 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array854 : Array[String] = []; + for index855 = 0; index855 < (mbt_ffi_load32((iter_base) + 16)); index855 = index855 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index855 * 8) + + let result853 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array854.push(result853) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array854) + } + _ => panic() + } + + let lifted860 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array858 : Array[String] = []; + for index859 = 0; index859 < (mbt_ffi_load32((iter_base) + 28)); index859 = index859 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index859 * 8) + + let result857 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array858.push(result857) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array858) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted856, allowed_hosts : lifted860}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result861 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array863 : Array[String] = []; + for index864 = 0; index864 < (mbt_ffi_load32((iter_base) + 20)); index864 = index864 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index864 * 8) + + let result862 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array863.push(result862) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted866 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result865 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result865}) + } + _ => panic() + } + + let lifted868 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result867 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result867}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result861, allowed_suffixes : array863, min : lifted866, max : lifted868}) + } + 31 => { + + let array892 : Array[@types.UnionBranch] = []; + for index893 = 0; index893 < (mbt_ffi_load32((iter_base) + 12)); index893 = index893 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index893 * 92) + + let result869 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted878 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result870 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result870) + } + 1 => { + + let result871 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result871) + } + 2 => { + + let result872 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result872) + } + 3 => { + + let result873 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result873) + } + 4 => { + + let result874 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted876 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result875 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result875) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result874, literal : lifted876}) + } + 5 => { + + let result877 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result877) + } + _ => panic() + } + + let lifted880 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result879 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result879) + } + _ => panic() + } + + let array882 : Array[String] = []; + for index883 = 0; index883 < (mbt_ffi_load32((iter_base) + 52)); index883 = index883 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index883 * 8) + + let result881 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array882.push(result881) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array885 : Array[String] = []; + for index886 = 0; index886 < (mbt_ffi_load32((iter_base) + 60)); index886 = index886 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index886 * 8) + + let result884 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array885.push(result884) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted888 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result887 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result887) + } + _ => panic() + } + + let lifted891 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted890 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result889 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result889) + } + _ => panic() + } + + Option::Some(lifted890) + } + _ => panic() + } + + array892.push(@types.UnionBranch::{tag : result869, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted878, metadata : @types.MetadataEnvelope::{doc : lifted880, aliases : array882, examples : array885, deprecated : lifted888, role : lifted891}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array892}) + } + 32 => { + + let lifted895 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result894 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result894) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted895}) + } + 33 => { + + let lifted897 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result896 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result896) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted897}) + } + 34 => { + + let lifted898 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted898) + } + 35 => { + + let lifted899 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted899) + } + _ => panic() + } + + let lifted902 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result901 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result901) + } + _ => panic() + } + + let array904 : Array[String] = []; + for index905 = 0; index905 < (mbt_ffi_load32((iter_base) + 104)); index905 = index905 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index905 * 8) + + let result903 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array904.push(result903) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array907 : Array[String] = []; + for index908 = 0; index908 < (mbt_ffi_load32((iter_base) + 112)); index908 = index908 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index908 * 8) + + let result906 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array907.push(result906) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted910 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result909 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result909) + } + _ => panic() + } + + let lifted913 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted912 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result911 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result911) + } + _ => panic() + } + + Option::Some(lifted912) + } + _ => panic() + } + + array914.push(@types.SchemaTypeNode::{body : lifted900, metadata : @types.MetadataEnvelope::{doc : lifted902, aliases : array904, examples : array907, deprecated : lifted910, role : lifted913}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 92)) + + let array919 : Array[@types.SchemaTypeDef] = []; + for index920 = 0; index920 < (mbt_ffi_load32((iter_base) + 104)); index920 = index920 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index920 * 24) + + let result916 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted918 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result917 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result917) + } + _ => panic() + } + + array919.push(@types.SchemaTypeDef::{id : result916, name : lifted918, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array950 : Array[@types.SchemaValueNode] = []; + for index951 = 0; index951 < (mbt_ffi_load32((iter_base) + 116)); index951 = index951 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 112)) + (index951 * 32) + + let lifted949 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result921 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result921) + } + 13 => { + + let array922 : Array[Int] = []; + for index923 = 0; index923 < (mbt_ffi_load32((iter_base) + 12)); index923 = index923 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index923 * 4) + + array922.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array922) + } + 14 => { + + let lifted924 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted924}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array925 : Array[Bool] = []; + for index926 = 0; index926 < (mbt_ffi_load32((iter_base) + 12)); index926 = index926 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index926 * 1) + + array925.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array925) + } + 17 => { + + let array927 : Array[Int] = []; + for index928 = 0; index928 < (mbt_ffi_load32((iter_base) + 12)); index928 = index928 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index928 * 4) + + array927.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array927) + } + 18 => { + + let array929 : Array[Int] = []; + for index930 = 0; index930 < (mbt_ffi_load32((iter_base) + 12)); index930 = index930 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index930 * 4) + + array929.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array929) + } + 19 => { + + let array931 : Array[Int] = []; + for index932 = 0; index932 < (mbt_ffi_load32((iter_base) + 12)); index932 = index932 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index932 * 4) + + array931.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array931) + } + 20 => { + + let array933 : Array[@types.MapEntry] = []; + for index934 = 0; index934 < (mbt_ffi_load32((iter_base) + 12)); index934 = index934 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index934 * 8) + + array933.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array933) + } + 21 => { + + let lifted935 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted935) + } + 22 => { + + let lifted938 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted936 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted936) + } + 1 => { + + let lifted937 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted937) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted938) + } + 23 => { + + let result939 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted941 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result940 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result940) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result939, language : lifted941}) + } + 24 => { + + let result942 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted944 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result943 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result943) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result942, mime_type : lifted944}) + } + 25 => { + + let result945 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result945) + } + 26 => { + + let result946 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result946) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result947 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result947}) + } + 30 => { + + let result948 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result948, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array950.push(lifted949) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 112)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array914, defs : array919, root : mbt_ffi_load32((iter_base) + 108)}, value : @types.SchemaValueTree::{value_nodes : array950, root : mbt_ffi_load32((iter_base) + 120)}}) + } + _ => panic() + } + + let lifted955 = match (mbt_ffi_load8_u((iter_base) + 128)) { + 0 => { + + WrappedFunctionType::ReadLocal + } + 1 => { + + WrappedFunctionType::WriteLocal + } + 2 => { + + WrappedFunctionType::ReadRemote + } + 3 => { + + WrappedFunctionType::WriteRemote + } + 4 => { + + let lifted953 : UInt64? = match mbt_ffi_load8_u((iter_base) + 136) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 144)).reinterpret_as_uint64()) + } + _ => panic() + } + + WrappedFunctionType::WriteRemoteBatched(lifted953) + } + 5 => { + + let lifted954 : UInt64? = match mbt_ffi_load8_u((iter_base) + 136) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 144)).reinterpret_as_uint64()) + } + _ => panic() + } + + WrappedFunctionType::WriteRemoteTransaction(lifted954) + } + _ => panic() + } + + PublicOplogEntry::Start(StartParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, parent_start_index : lifted714, function_name : result715, invocation_id : lifted716, observational_owner : lifted717, request : lifted952, durable_function_type : lifted955}) + } + 2 => { + + let lifted1190 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let array1152 : Array[@types.SchemaTypeNode] = []; + for index1153 = 0; index1153 < (mbt_ffi_load32((iter_base) + 40)); index1153 = index1153 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1153 * 144) + + let lifted1138 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted962 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted957 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted956 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted956) + } + _ => panic() + } + + let lifted959 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted958 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted958) + } + _ => panic() + } + + let lifted961 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result960 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result960) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted957, max : lifted959, unit : lifted961}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted962) + } + 3 => { + + let lifted969 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted964 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted963 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted963) + } + _ => panic() + } + + let lifted966 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted965 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted965) + } + _ => panic() + } + + let lifted968 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result967 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result967) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted964, max : lifted966, unit : lifted968}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted969) + } + 4 => { + + let lifted976 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted971 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted970 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted970) + } + _ => panic() + } + + let lifted973 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted972 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted972) + } + _ => panic() + } + + let lifted975 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result974 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result974) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted971, max : lifted973, unit : lifted975}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted976) + } + 5 => { + + let lifted983 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted978 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted977 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted977) + } + _ => panic() + } + + let lifted980 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted979 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted979) + } + _ => panic() + } + + let lifted982 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result981 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result981) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted978, max : lifted980, unit : lifted982}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted983) + } + 6 => { + + let lifted990 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted985 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted984 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted984) + } + _ => panic() + } + + let lifted987 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted986 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted986) + } + _ => panic() + } + + let lifted989 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result988 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result988) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted985, max : lifted987, unit : lifted989}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted990) + } + 7 => { + + let lifted997 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted992 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted991 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted991) + } + _ => panic() + } + + let lifted994 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted993 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted993) + } + _ => panic() + } + + let lifted996 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result995 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result995) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted992, max : lifted994, unit : lifted996}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted997) + } + 8 => { + + let lifted1004 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted999 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted998 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted998) + } + _ => panic() + } + + let lifted1001 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1000 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1000) + } + _ => panic() + } + + let lifted1003 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1002 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1002) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted999, max : lifted1001, unit : lifted1003}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1004) + } + 9 => { + + let lifted1011 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1006 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1005 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1005) + } + _ => panic() + } + + let lifted1008 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1007 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1007) + } + _ => panic() + } + + let lifted1010 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1009 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1009) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1006, max : lifted1008, unit : lifted1010}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1011) + } + 10 => { + + let lifted1018 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1013 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1012 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1012) + } + _ => panic() + } + + let lifted1015 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1014 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1014) + } + _ => panic() + } + + let lifted1017 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1016 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1016) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1013, max : lifted1015, unit : lifted1017}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1018) + } + 11 => { + + let lifted1025 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1020 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1019 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1019) + } + _ => panic() + } + + let lifted1022 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1021 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1021) + } + _ => panic() + } + + let lifted1024 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1023 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1023) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1020, max : lifted1022, unit : lifted1024}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1025) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1040 : Array[@types.NamedFieldType] = []; + for index1041 = 0; index1041 < (mbt_ffi_load32((iter_base) + 12)); index1041 = index1041 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1041 * 68) + + let result1026 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1028 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1027 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1027) + } + _ => panic() + } + + let array1030 : Array[String] = []; + for index1031 = 0; index1031 < (mbt_ffi_load32((iter_base) + 28)); index1031 = index1031 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1031 * 8) + + let result1029 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1030.push(result1029) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1033 : Array[String] = []; + for index1034 = 0; index1034 < (mbt_ffi_load32((iter_base) + 36)); index1034 = index1034 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1034 * 8) + + let result1032 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1033.push(result1032) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1036 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1035 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1035) + } + _ => panic() + } + + let lifted1039 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1038 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1037 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1037) + } + _ => panic() + } + + Option::Some(lifted1038) + } + _ => panic() + } + + array1040.push(@types.NamedFieldType::{name : result1026, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1028, aliases : array1030, examples : array1033, deprecated : lifted1036, role : lifted1039}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1040) + } + 15 => { + + let array1057 : Array[@types.VariantCaseType] = []; + for index1058 = 0; index1058 < (mbt_ffi_load32((iter_base) + 12)); index1058 = index1058 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1058 * 72) + + let result1042 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1043 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1045 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1044 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1044) + } + _ => panic() + } + + let array1047 : Array[String] = []; + for index1048 = 0; index1048 < (mbt_ffi_load32((iter_base) + 32)); index1048 = index1048 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1048 * 8) + + let result1046 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1047.push(result1046) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1050 : Array[String] = []; + for index1051 = 0; index1051 < (mbt_ffi_load32((iter_base) + 40)); index1051 = index1051 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1051 * 8) + + let result1049 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1050.push(result1049) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1053 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1052 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1052) + } + _ => panic() + } + + let lifted1056 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1055 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1054 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1054) + } + _ => panic() + } + + Option::Some(lifted1055) + } + _ => panic() + } + + array1057.push(@types.VariantCaseType::{name : result1042, payload : lifted1043, metadata : @types.MetadataEnvelope::{doc : lifted1045, aliases : array1047, examples : array1050, deprecated : lifted1053, role : lifted1056}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1057) + } + 16 => { + + let array1060 : Array[String] = []; + for index1061 = 0; index1061 < (mbt_ffi_load32((iter_base) + 12)); index1061 = index1061 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1061 * 8) + + let result1059 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1060.push(result1059) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1060) + } + 17 => { + + let array1063 : Array[String] = []; + for index1064 = 0; index1064 < (mbt_ffi_load32((iter_base) + 12)); index1064 = index1064 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1064 * 8) + + let result1062 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1063.push(result1062) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1063) + } + 18 => { + + let array1065 : Array[Int] = []; + for index1066 = 0; index1066 < (mbt_ffi_load32((iter_base) + 12)); index1066 = index1066 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1066 * 4) + + array1065.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1065) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1067 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1068 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1067, err : lifted1068}) + } + 24 => { + + let lifted1072 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1070 : Array[String] = []; + for index1071 = 0; index1071 < (mbt_ffi_load32((iter_base) + 16)); index1071 = index1071 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1071 * 8) + + let result1069 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1070.push(result1069) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1070) + } + _ => panic() + } + + let lifted1073 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1074 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1076 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1075 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1075) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1072, min_length : lifted1073, max_length : lifted1074, regex : lifted1076}) + } + 25 => { + + let lifted1080 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1078 : Array[String] = []; + for index1079 = 0; index1079 < (mbt_ffi_load32((iter_base) + 16)); index1079 = index1079 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1079 * 8) + + let result1077 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1078.push(result1077) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1078) + } + _ => panic() + } + + let lifted1081 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1082 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1080, min_bytes : lifted1081, max_bytes : lifted1082}) + } + 26 => { + + let lifted1086 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1084 : Array[String] = []; + for index1085 = 0; index1085 < (mbt_ffi_load32((iter_base) + 20)); index1085 = index1085 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1085 * 8) + + let result1083 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1084.push(result1083) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1084) + } + _ => panic() + } + + let lifted1090 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1088 : Array[String] = []; + for index1089 = 0; index1089 < (mbt_ffi_load32((iter_base) + 32)); index1089 = index1089 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1089 * 8) + + let result1087 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1088.push(result1087) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1088) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1086, allowed_extensions : lifted1090}) + } + 27 => { + + let lifted1094 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1092 : Array[String] = []; + for index1093 = 0; index1093 < (mbt_ffi_load32((iter_base) + 16)); index1093 = index1093 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1093 * 8) + + let result1091 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1092.push(result1091) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1092) + } + _ => panic() + } + + let lifted1098 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1096 : Array[String] = []; + for index1097 = 0; index1097 < (mbt_ffi_load32((iter_base) + 28)); index1097 = index1097 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1097 * 8) + + let result1095 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1096.push(result1095) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1096) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1094, allowed_hosts : lifted1098}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1099 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1101 : Array[String] = []; + for index1102 = 0; index1102 < (mbt_ffi_load32((iter_base) + 20)); index1102 = index1102 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1102 * 8) + + let result1100 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1101.push(result1100) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1104 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1103 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1103}) + } + _ => panic() + } + + let lifted1106 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1105 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1105}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1099, allowed_suffixes : array1101, min : lifted1104, max : lifted1106}) + } + 31 => { + + let array1130 : Array[@types.UnionBranch] = []; + for index1131 = 0; index1131 < (mbt_ffi_load32((iter_base) + 12)); index1131 = index1131 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1131 * 92) + + let result1107 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1116 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1108 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1108) + } + 1 => { + + let result1109 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1109) + } + 2 => { + + let result1110 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1110) + } + 3 => { + + let result1111 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1111) + } + 4 => { + + let result1112 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1114 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1113 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1113) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1112, literal : lifted1114}) + } + 5 => { + + let result1115 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1115) + } + _ => panic() + } + + let lifted1118 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1117 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1117) + } + _ => panic() + } + + let array1120 : Array[String] = []; + for index1121 = 0; index1121 < (mbt_ffi_load32((iter_base) + 52)); index1121 = index1121 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1121 * 8) + + let result1119 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1120.push(result1119) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1123 : Array[String] = []; + for index1124 = 0; index1124 < (mbt_ffi_load32((iter_base) + 60)); index1124 = index1124 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1124 * 8) + + let result1122 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1123.push(result1122) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1126 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1125 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1125) + } + _ => panic() + } + + let lifted1129 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1128 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1127 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1127) + } + _ => panic() + } + + Option::Some(lifted1128) + } + _ => panic() + } + + array1130.push(@types.UnionBranch::{tag : result1107, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1116, metadata : @types.MetadataEnvelope::{doc : lifted1118, aliases : array1120, examples : array1123, deprecated : lifted1126, role : lifted1129}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1130}) + } + 32 => { + + let lifted1133 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1132 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1132) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1133}) + } + 33 => { + + let lifted1135 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1134 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1134) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1135}) + } + 34 => { + + let lifted1136 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1136) + } + 35 => { + + let lifted1137 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1137) + } + _ => panic() + } + + let lifted1140 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1139 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1139) + } + _ => panic() + } + + let array1142 : Array[String] = []; + for index1143 = 0; index1143 < (mbt_ffi_load32((iter_base) + 104)); index1143 = index1143 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1143 * 8) + + let result1141 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1142.push(result1141) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1145 : Array[String] = []; + for index1146 = 0; index1146 < (mbt_ffi_load32((iter_base) + 112)); index1146 = index1146 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1146 * 8) + + let result1144 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1145.push(result1144) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1148 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1147 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1147) + } + _ => panic() + } + + let lifted1151 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1150 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1149 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1149) + } + _ => panic() + } + + Option::Some(lifted1150) + } + _ => panic() + } + + array1152.push(@types.SchemaTypeNode::{body : lifted1138, metadata : @types.MetadataEnvelope::{doc : lifted1140, aliases : array1142, examples : array1145, deprecated : lifted1148, role : lifted1151}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array1157 : Array[@types.SchemaTypeDef] = []; + for index1158 = 0; index1158 < (mbt_ffi_load32((iter_base) + 48)); index1158 = index1158 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index1158 * 24) + + let result1154 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1156 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1155 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1155) + } + _ => panic() + } + + array1157.push(@types.SchemaTypeDef::{id : result1154, name : lifted1156, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array1188 : Array[@types.SchemaValueNode] = []; + for index1189 = 0; index1189 < (mbt_ffi_load32((iter_base) + 60)); index1189 = index1189 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1189 * 32) + + let lifted1187 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1159 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1159) + } + 13 => { + + let array1160 : Array[Int] = []; + for index1161 = 0; index1161 < (mbt_ffi_load32((iter_base) + 12)); index1161 = index1161 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1161 * 4) + + array1160.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1160) + } + 14 => { + + let lifted1162 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1162}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1163 : Array[Bool] = []; + for index1164 = 0; index1164 < (mbt_ffi_load32((iter_base) + 12)); index1164 = index1164 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1164 * 1) + + array1163.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1163) + } + 17 => { + + let array1165 : Array[Int] = []; + for index1166 = 0; index1166 < (mbt_ffi_load32((iter_base) + 12)); index1166 = index1166 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1166 * 4) + + array1165.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1165) + } + 18 => { + + let array1167 : Array[Int] = []; + for index1168 = 0; index1168 < (mbt_ffi_load32((iter_base) + 12)); index1168 = index1168 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1168 * 4) + + array1167.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1167) + } + 19 => { + + let array1169 : Array[Int] = []; + for index1170 = 0; index1170 < (mbt_ffi_load32((iter_base) + 12)); index1170 = index1170 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1170 * 4) + + array1169.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1169) + } + 20 => { + + let array1171 : Array[@types.MapEntry] = []; + for index1172 = 0; index1172 < (mbt_ffi_load32((iter_base) + 12)); index1172 = index1172 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1172 * 8) + + array1171.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1171) + } + 21 => { + + let lifted1173 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1173) + } + 22 => { + + let lifted1176 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1174 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1174) + } + 1 => { + + let lifted1175 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1175) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1176) + } + 23 => { + + let result1177 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1179 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1178 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1178) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1177, language : lifted1179}) + } + 24 => { + + let result1180 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1182 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1181 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1181) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1180, mime_type : lifted1182}) + } + 25 => { + + let result1183 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1183) + } + 26 => { + + let result1184 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1184) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1185 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1185}) + } + 30 => { + + let result1186 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1186, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1188.push(lifted1187) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1152, defs : array1157, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array1188, root : mbt_ffi_load32((iter_base) + 64)}}) + } + _ => panic() + } + + PublicOplogEntry::End(EndParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), response : lifted1190, forced_commit : (mbt_ffi_load8_u((iter_base) + 68) != 0)}) + } + 3 => { + + let lifted1425 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let array1387 : Array[@types.SchemaTypeNode] = []; + for index1388 = 0; index1388 < (mbt_ffi_load32((iter_base) + 40)); index1388 = index1388 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1388 * 144) + + let lifted1373 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1197 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1192 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1191 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1191) + } + _ => panic() + } + + let lifted1194 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1193 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1193) + } + _ => panic() + } + + let lifted1196 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1195 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1195) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1192, max : lifted1194, unit : lifted1196}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1197) + } + 3 => { + + let lifted1204 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1199 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1198 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1198) + } + _ => panic() + } + + let lifted1201 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1200 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1200) + } + _ => panic() + } + + let lifted1203 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1202 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1202) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1199, max : lifted1201, unit : lifted1203}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1204) + } + 4 => { + + let lifted1211 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1206 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1205 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1205) + } + _ => panic() + } + + let lifted1208 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1207 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1207) + } + _ => panic() + } + + let lifted1210 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1209 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1209) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1206, max : lifted1208, unit : lifted1210}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1211) + } + 5 => { + + let lifted1218 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1213 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1212 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1212) + } + _ => panic() + } + + let lifted1215 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1214 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1214) + } + _ => panic() + } + + let lifted1217 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1216 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1216) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1213, max : lifted1215, unit : lifted1217}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1218) + } + 6 => { + + let lifted1225 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1220 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1219 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1219) + } + _ => panic() + } + + let lifted1222 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1221 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1221) + } + _ => panic() + } + + let lifted1224 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1223 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1223) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1220, max : lifted1222, unit : lifted1224}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1225) + } + 7 => { + + let lifted1232 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1227 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1226 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1226) + } + _ => panic() + } + + let lifted1229 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1228 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1228) + } + _ => panic() + } + + let lifted1231 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1230 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1230) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1227, max : lifted1229, unit : lifted1231}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1232) + } + 8 => { + + let lifted1239 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1234 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1233 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1233) + } + _ => panic() + } + + let lifted1236 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1235 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1235) + } + _ => panic() + } + + let lifted1238 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1237 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1237) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1234, max : lifted1236, unit : lifted1238}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1239) + } + 9 => { + + let lifted1246 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1241 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1240 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1240) + } + _ => panic() + } + + let lifted1243 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1242 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1242) + } + _ => panic() + } + + let lifted1245 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1244 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1244) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1241, max : lifted1243, unit : lifted1245}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1246) + } + 10 => { + + let lifted1253 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1248 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1247 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1247) + } + _ => panic() + } + + let lifted1250 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1249 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1249) + } + _ => panic() + } + + let lifted1252 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1251 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1251) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1248, max : lifted1250, unit : lifted1252}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1253) + } + 11 => { + + let lifted1260 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1255 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1254 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1254) + } + _ => panic() + } + + let lifted1257 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1256 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1256) + } + _ => panic() + } + + let lifted1259 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1258 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1258) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1255, max : lifted1257, unit : lifted1259}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1260) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1275 : Array[@types.NamedFieldType] = []; + for index1276 = 0; index1276 < (mbt_ffi_load32((iter_base) + 12)); index1276 = index1276 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1276 * 68) + + let result1261 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1263 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1262 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1262) + } + _ => panic() + } + + let array1265 : Array[String] = []; + for index1266 = 0; index1266 < (mbt_ffi_load32((iter_base) + 28)); index1266 = index1266 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1266 * 8) + + let result1264 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1265.push(result1264) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1268 : Array[String] = []; + for index1269 = 0; index1269 < (mbt_ffi_load32((iter_base) + 36)); index1269 = index1269 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1269 * 8) + + let result1267 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1268.push(result1267) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1271 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1270 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1270) + } + _ => panic() + } + + let lifted1274 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1273 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1272 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1272) + } + _ => panic() + } + + Option::Some(lifted1273) + } + _ => panic() + } + + array1275.push(@types.NamedFieldType::{name : result1261, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1263, aliases : array1265, examples : array1268, deprecated : lifted1271, role : lifted1274}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1275) + } + 15 => { + + let array1292 : Array[@types.VariantCaseType] = []; + for index1293 = 0; index1293 < (mbt_ffi_load32((iter_base) + 12)); index1293 = index1293 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1293 * 72) + + let result1277 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1278 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1280 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1279 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1279) + } + _ => panic() + } + + let array1282 : Array[String] = []; + for index1283 = 0; index1283 < (mbt_ffi_load32((iter_base) + 32)); index1283 = index1283 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1283 * 8) + + let result1281 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1282.push(result1281) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1285 : Array[String] = []; + for index1286 = 0; index1286 < (mbt_ffi_load32((iter_base) + 40)); index1286 = index1286 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1286 * 8) + + let result1284 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1285.push(result1284) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1288 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1287 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1287) + } + _ => panic() + } + + let lifted1291 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1290 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1289 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1289) + } + _ => panic() + } + + Option::Some(lifted1290) + } + _ => panic() + } + + array1292.push(@types.VariantCaseType::{name : result1277, payload : lifted1278, metadata : @types.MetadataEnvelope::{doc : lifted1280, aliases : array1282, examples : array1285, deprecated : lifted1288, role : lifted1291}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1292) + } + 16 => { + + let array1295 : Array[String] = []; + for index1296 = 0; index1296 < (mbt_ffi_load32((iter_base) + 12)); index1296 = index1296 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1296 * 8) + + let result1294 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1295.push(result1294) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1295) + } + 17 => { + + let array1298 : Array[String] = []; + for index1299 = 0; index1299 < (mbt_ffi_load32((iter_base) + 12)); index1299 = index1299 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1299 * 8) + + let result1297 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1298.push(result1297) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1298) + } + 18 => { + + let array1300 : Array[Int] = []; + for index1301 = 0; index1301 < (mbt_ffi_load32((iter_base) + 12)); index1301 = index1301 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1301 * 4) + + array1300.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1300) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1302 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1303 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1302, err : lifted1303}) + } + 24 => { + + let lifted1307 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1305 : Array[String] = []; + for index1306 = 0; index1306 < (mbt_ffi_load32((iter_base) + 16)); index1306 = index1306 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1306 * 8) + + let result1304 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1305.push(result1304) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1305) + } + _ => panic() + } + + let lifted1308 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1309 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1311 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1310 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1310) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1307, min_length : lifted1308, max_length : lifted1309, regex : lifted1311}) + } + 25 => { + + let lifted1315 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1313 : Array[String] = []; + for index1314 = 0; index1314 < (mbt_ffi_load32((iter_base) + 16)); index1314 = index1314 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1314 * 8) + + let result1312 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1313.push(result1312) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1313) + } + _ => panic() + } + + let lifted1316 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1317 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1315, min_bytes : lifted1316, max_bytes : lifted1317}) + } + 26 => { + + let lifted1321 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1319 : Array[String] = []; + for index1320 = 0; index1320 < (mbt_ffi_load32((iter_base) + 20)); index1320 = index1320 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1320 * 8) + + let result1318 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1319.push(result1318) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1319) + } + _ => panic() + } + + let lifted1325 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1323 : Array[String] = []; + for index1324 = 0; index1324 < (mbt_ffi_load32((iter_base) + 32)); index1324 = index1324 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1324 * 8) + + let result1322 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1323.push(result1322) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1323) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1321, allowed_extensions : lifted1325}) + } + 27 => { + + let lifted1329 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1327 : Array[String] = []; + for index1328 = 0; index1328 < (mbt_ffi_load32((iter_base) + 16)); index1328 = index1328 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1328 * 8) + + let result1326 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1327.push(result1326) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1327) + } + _ => panic() + } + + let lifted1333 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1331 : Array[String] = []; + for index1332 = 0; index1332 < (mbt_ffi_load32((iter_base) + 28)); index1332 = index1332 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1332 * 8) + + let result1330 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1331.push(result1330) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1331) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1329, allowed_hosts : lifted1333}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1334 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1336 : Array[String] = []; + for index1337 = 0; index1337 < (mbt_ffi_load32((iter_base) + 20)); index1337 = index1337 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1337 * 8) + + let result1335 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1336.push(result1335) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1339 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1338 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1338}) + } + _ => panic() + } + + let lifted1341 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1340 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1340}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1334, allowed_suffixes : array1336, min : lifted1339, max : lifted1341}) + } + 31 => { + + let array1365 : Array[@types.UnionBranch] = []; + for index1366 = 0; index1366 < (mbt_ffi_load32((iter_base) + 12)); index1366 = index1366 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1366 * 92) + + let result1342 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1351 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1343 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1343) + } + 1 => { + + let result1344 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1344) + } + 2 => { + + let result1345 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1345) + } + 3 => { + + let result1346 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1346) + } + 4 => { + + let result1347 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1349 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1348 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1348) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1347, literal : lifted1349}) + } + 5 => { + + let result1350 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1350) + } + _ => panic() + } + + let lifted1353 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1352 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1352) + } + _ => panic() + } + + let array1355 : Array[String] = []; + for index1356 = 0; index1356 < (mbt_ffi_load32((iter_base) + 52)); index1356 = index1356 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1356 * 8) + + let result1354 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1355.push(result1354) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1358 : Array[String] = []; + for index1359 = 0; index1359 < (mbt_ffi_load32((iter_base) + 60)); index1359 = index1359 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1359 * 8) + + let result1357 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1358.push(result1357) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1361 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1360 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1360) + } + _ => panic() + } + + let lifted1364 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1363 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1362 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1362) + } + _ => panic() + } + + Option::Some(lifted1363) + } + _ => panic() + } + + array1365.push(@types.UnionBranch::{tag : result1342, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1351, metadata : @types.MetadataEnvelope::{doc : lifted1353, aliases : array1355, examples : array1358, deprecated : lifted1361, role : lifted1364}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1365}) + } + 32 => { + + let lifted1368 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1367 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1367) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1368}) + } + 33 => { + + let lifted1370 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1369 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1369) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1370}) + } + 34 => { + + let lifted1371 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1371) + } + 35 => { + + let lifted1372 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1372) + } + _ => panic() + } + + let lifted1375 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1374 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1374) + } + _ => panic() + } + + let array1377 : Array[String] = []; + for index1378 = 0; index1378 < (mbt_ffi_load32((iter_base) + 104)); index1378 = index1378 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1378 * 8) + + let result1376 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1377.push(result1376) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1380 : Array[String] = []; + for index1381 = 0; index1381 < (mbt_ffi_load32((iter_base) + 112)); index1381 = index1381 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1381 * 8) + + let result1379 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1380.push(result1379) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1383 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1382 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1382) + } + _ => panic() + } + + let lifted1386 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1385 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1384 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1384) + } + _ => panic() + } + + Option::Some(lifted1385) + } + _ => panic() + } + + array1387.push(@types.SchemaTypeNode::{body : lifted1373, metadata : @types.MetadataEnvelope::{doc : lifted1375, aliases : array1377, examples : array1380, deprecated : lifted1383, role : lifted1386}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array1392 : Array[@types.SchemaTypeDef] = []; + for index1393 = 0; index1393 < (mbt_ffi_load32((iter_base) + 48)); index1393 = index1393 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index1393 * 24) + + let result1389 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1391 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1390 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1390) + } + _ => panic() + } + + array1392.push(@types.SchemaTypeDef::{id : result1389, name : lifted1391, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array1423 : Array[@types.SchemaValueNode] = []; + for index1424 = 0; index1424 < (mbt_ffi_load32((iter_base) + 60)); index1424 = index1424 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1424 * 32) + + let lifted1422 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1394 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1394) + } + 13 => { + + let array1395 : Array[Int] = []; + for index1396 = 0; index1396 < (mbt_ffi_load32((iter_base) + 12)); index1396 = index1396 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1396 * 4) + + array1395.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1395) + } + 14 => { + + let lifted1397 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1397}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1398 : Array[Bool] = []; + for index1399 = 0; index1399 < (mbt_ffi_load32((iter_base) + 12)); index1399 = index1399 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1399 * 1) + + array1398.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1398) + } + 17 => { + + let array1400 : Array[Int] = []; + for index1401 = 0; index1401 < (mbt_ffi_load32((iter_base) + 12)); index1401 = index1401 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1401 * 4) + + array1400.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1400) + } + 18 => { + + let array1402 : Array[Int] = []; + for index1403 = 0; index1403 < (mbt_ffi_load32((iter_base) + 12)); index1403 = index1403 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1403 * 4) + + array1402.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1402) + } + 19 => { + + let array1404 : Array[Int] = []; + for index1405 = 0; index1405 < (mbt_ffi_load32((iter_base) + 12)); index1405 = index1405 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1405 * 4) + + array1404.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1404) + } + 20 => { + + let array1406 : Array[@types.MapEntry] = []; + for index1407 = 0; index1407 < (mbt_ffi_load32((iter_base) + 12)); index1407 = index1407 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1407 * 8) + + array1406.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1406) + } + 21 => { + + let lifted1408 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1408) + } + 22 => { + + let lifted1411 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1409 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1409) + } + 1 => { + + let lifted1410 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1410) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1411) + } + 23 => { + + let result1412 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1414 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1413 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1413) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1412, language : lifted1414}) + } + 24 => { + + let result1415 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1417 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1416 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1416) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1415, mime_type : lifted1417}) + } + 25 => { + + let result1418 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1418) + } + 26 => { + + let result1419 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1419) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1420 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1420}) + } + 30 => { + + let result1421 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1421, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1423.push(lifted1422) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1387, defs : array1392, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array1423, root : mbt_ffi_load32((iter_base) + 64)}}) + } + _ => panic() + } + + PublicOplogEntry::Cancelled(CancelledParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), partial : lifted1425}) + } + 4 => { + + let lifted1938 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + let result1426 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let array1623 : Array[@types.SchemaTypeNode] = []; + for index1624 = 0; index1624 < (mbt_ffi_load32((iter_base) + 44)); index1624 = index1624 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 40)) + (index1624 * 144) + + let lifted1609 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1433 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1428 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1427 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1427) + } + _ => panic() + } + + let lifted1430 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1429 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1429) + } + _ => panic() + } + + let lifted1432 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1431 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1431) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1428, max : lifted1430, unit : lifted1432}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1433) + } + 3 => { + + let lifted1440 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1435 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1434 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1434) + } + _ => panic() + } + + let lifted1437 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1436 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1436) + } + _ => panic() + } + + let lifted1439 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1438 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1438) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1435, max : lifted1437, unit : lifted1439}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1440) + } + 4 => { + + let lifted1447 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1442 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1441 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1441) + } + _ => panic() + } + + let lifted1444 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1443 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1443) + } + _ => panic() + } + + let lifted1446 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1445 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1445) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1442, max : lifted1444, unit : lifted1446}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1447) + } + 5 => { + + let lifted1454 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1449 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1448 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1448) + } + _ => panic() + } + + let lifted1451 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1450 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1450) + } + _ => panic() + } + + let lifted1453 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1452 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1452) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1449, max : lifted1451, unit : lifted1453}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1454) + } + 6 => { + + let lifted1461 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1456 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1455 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1455) + } + _ => panic() + } + + let lifted1458 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1457 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1457) + } + _ => panic() + } + + let lifted1460 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1459 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1459) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1456, max : lifted1458, unit : lifted1460}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1461) + } + 7 => { + + let lifted1468 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1463 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1462 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1462) + } + _ => panic() + } + + let lifted1465 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1464 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1464) + } + _ => panic() + } + + let lifted1467 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1466 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1466) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1463, max : lifted1465, unit : lifted1467}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1468) + } + 8 => { + + let lifted1475 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1470 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1469 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1469) + } + _ => panic() + } + + let lifted1472 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1471 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1471) + } + _ => panic() + } + + let lifted1474 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1473 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1473) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1470, max : lifted1472, unit : lifted1474}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1475) + } + 9 => { + + let lifted1482 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1477 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1476 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1476) + } + _ => panic() + } + + let lifted1479 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1478 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1478) + } + _ => panic() + } + + let lifted1481 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1480 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1480) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1477, max : lifted1479, unit : lifted1481}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1482) + } + 10 => { + + let lifted1489 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1484 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1483 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1483) + } + _ => panic() + } + + let lifted1486 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1485 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1485) + } + _ => panic() + } + + let lifted1488 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1487 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1487) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1484, max : lifted1486, unit : lifted1488}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1489) + } + 11 => { + + let lifted1496 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1491 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1490 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1490) + } + _ => panic() + } + + let lifted1493 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1492 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1492) + } + _ => panic() + } + + let lifted1495 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1494 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1494) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1491, max : lifted1493, unit : lifted1495}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1496) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1511 : Array[@types.NamedFieldType] = []; + for index1512 = 0; index1512 < (mbt_ffi_load32((iter_base) + 12)); index1512 = index1512 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1512 * 68) + + let result1497 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1499 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1498 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1498) + } + _ => panic() + } + + let array1501 : Array[String] = []; + for index1502 = 0; index1502 < (mbt_ffi_load32((iter_base) + 28)); index1502 = index1502 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1502 * 8) + + let result1500 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1501.push(result1500) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1504 : Array[String] = []; + for index1505 = 0; index1505 < (mbt_ffi_load32((iter_base) + 36)); index1505 = index1505 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1505 * 8) + + let result1503 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1504.push(result1503) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1507 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1506 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1506) + } + _ => panic() + } + + let lifted1510 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1509 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1508 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1508) + } + _ => panic() + } + + Option::Some(lifted1509) + } + _ => panic() + } + + array1511.push(@types.NamedFieldType::{name : result1497, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1499, aliases : array1501, examples : array1504, deprecated : lifted1507, role : lifted1510}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1511) + } + 15 => { + + let array1528 : Array[@types.VariantCaseType] = []; + for index1529 = 0; index1529 < (mbt_ffi_load32((iter_base) + 12)); index1529 = index1529 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1529 * 72) + + let result1513 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1514 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1516 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1515 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1515) + } + _ => panic() + } + + let array1518 : Array[String] = []; + for index1519 = 0; index1519 < (mbt_ffi_load32((iter_base) + 32)); index1519 = index1519 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1519 * 8) + + let result1517 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1518.push(result1517) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1521 : Array[String] = []; + for index1522 = 0; index1522 < (mbt_ffi_load32((iter_base) + 40)); index1522 = index1522 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1522 * 8) + + let result1520 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1521.push(result1520) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1524 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1523 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1523) + } + _ => panic() + } + + let lifted1527 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1526 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1525 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1525) + } + _ => panic() + } + + Option::Some(lifted1526) + } + _ => panic() + } + + array1528.push(@types.VariantCaseType::{name : result1513, payload : lifted1514, metadata : @types.MetadataEnvelope::{doc : lifted1516, aliases : array1518, examples : array1521, deprecated : lifted1524, role : lifted1527}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1528) + } + 16 => { + + let array1531 : Array[String] = []; + for index1532 = 0; index1532 < (mbt_ffi_load32((iter_base) + 12)); index1532 = index1532 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1532 * 8) + + let result1530 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1531.push(result1530) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1531) + } + 17 => { + + let array1534 : Array[String] = []; + for index1535 = 0; index1535 < (mbt_ffi_load32((iter_base) + 12)); index1535 = index1535 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1535 * 8) + + let result1533 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1534.push(result1533) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1534) + } + 18 => { + + let array1536 : Array[Int] = []; + for index1537 = 0; index1537 < (mbt_ffi_load32((iter_base) + 12)); index1537 = index1537 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1537 * 4) + + array1536.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1536) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1538 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1539 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1538, err : lifted1539}) + } + 24 => { + + let lifted1543 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1541 : Array[String] = []; + for index1542 = 0; index1542 < (mbt_ffi_load32((iter_base) + 16)); index1542 = index1542 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1542 * 8) + + let result1540 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1541.push(result1540) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1541) + } + _ => panic() + } + + let lifted1544 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1545 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1547 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1546 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1546) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1543, min_length : lifted1544, max_length : lifted1545, regex : lifted1547}) + } + 25 => { + + let lifted1551 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1549 : Array[String] = []; + for index1550 = 0; index1550 < (mbt_ffi_load32((iter_base) + 16)); index1550 = index1550 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1550 * 8) + + let result1548 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1549.push(result1548) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1549) + } + _ => panic() + } + + let lifted1552 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1553 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1551, min_bytes : lifted1552, max_bytes : lifted1553}) + } + 26 => { + + let lifted1557 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1555 : Array[String] = []; + for index1556 = 0; index1556 < (mbt_ffi_load32((iter_base) + 20)); index1556 = index1556 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1556 * 8) + + let result1554 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1555.push(result1554) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1555) + } + _ => panic() + } + + let lifted1561 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1559 : Array[String] = []; + for index1560 = 0; index1560 < (mbt_ffi_load32((iter_base) + 32)); index1560 = index1560 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1560 * 8) + + let result1558 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1559.push(result1558) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1559) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1557, allowed_extensions : lifted1561}) + } + 27 => { + + let lifted1565 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1563 : Array[String] = []; + for index1564 = 0; index1564 < (mbt_ffi_load32((iter_base) + 16)); index1564 = index1564 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1564 * 8) + + let result1562 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1563.push(result1562) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1563) + } + _ => panic() + } + + let lifted1569 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1567 : Array[String] = []; + for index1568 = 0; index1568 < (mbt_ffi_load32((iter_base) + 28)); index1568 = index1568 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1568 * 8) + + let result1566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1567.push(result1566) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1567) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1565, allowed_hosts : lifted1569}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1570 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1572 : Array[String] = []; + for index1573 = 0; index1573 < (mbt_ffi_load32((iter_base) + 20)); index1573 = index1573 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1573 * 8) + + let result1571 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1572.push(result1571) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1575 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1574}) + } + _ => panic() + } + + let lifted1577 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1576 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1576}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1570, allowed_suffixes : array1572, min : lifted1575, max : lifted1577}) + } + 31 => { + + let array1601 : Array[@types.UnionBranch] = []; + for index1602 = 0; index1602 < (mbt_ffi_load32((iter_base) + 12)); index1602 = index1602 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1602 * 92) + + let result1578 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1587 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1579 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1579) + } + 1 => { + + let result1580 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1580) + } + 2 => { + + let result1581 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1581) + } + 3 => { + + let result1582 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1582) + } + 4 => { + + let result1583 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1585 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1584 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1584) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1583, literal : lifted1585}) + } + 5 => { + + let result1586 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1586) + } + _ => panic() + } + + let lifted1589 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1588 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1588) + } + _ => panic() + } + + let array1591 : Array[String] = []; + for index1592 = 0; index1592 < (mbt_ffi_load32((iter_base) + 52)); index1592 = index1592 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1592 * 8) + + let result1590 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1591.push(result1590) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1594 : Array[String] = []; + for index1595 = 0; index1595 < (mbt_ffi_load32((iter_base) + 60)); index1595 = index1595 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1595 * 8) + + let result1593 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1594.push(result1593) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1597 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1596 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1596) + } + _ => panic() + } + + let lifted1600 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1599 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1598 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1598) + } + _ => panic() + } + + Option::Some(lifted1599) + } + _ => panic() + } + + array1601.push(@types.UnionBranch::{tag : result1578, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1587, metadata : @types.MetadataEnvelope::{doc : lifted1589, aliases : array1591, examples : array1594, deprecated : lifted1597, role : lifted1600}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1601}) + } + 32 => { + + let lifted1604 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1603 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1603) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1604}) + } + 33 => { + + let lifted1606 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1605 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1605) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1606}) + } + 34 => { + + let lifted1607 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1607) + } + 35 => { + + let lifted1608 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1608) + } + _ => panic() + } + + let lifted1611 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1610 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1610) + } + _ => panic() + } + + let array1613 : Array[String] = []; + for index1614 = 0; index1614 < (mbt_ffi_load32((iter_base) + 104)); index1614 = index1614 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1614 * 8) + + let result1612 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1613.push(result1612) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1616 : Array[String] = []; + for index1617 = 0; index1617 < (mbt_ffi_load32((iter_base) + 112)); index1617 = index1617 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1617 * 8) + + let result1615 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1616.push(result1615) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1619 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1618 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1618) + } + _ => panic() + } + + let lifted1622 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1621 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1620 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1620) + } + _ => panic() + } + + Option::Some(lifted1621) + } + _ => panic() + } + + array1623.push(@types.SchemaTypeNode::{body : lifted1609, metadata : @types.MetadataEnvelope::{doc : lifted1611, aliases : array1613, examples : array1616, deprecated : lifted1619, role : lifted1622}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 40)) + + let array1628 : Array[@types.SchemaTypeDef] = []; + for index1629 = 0; index1629 < (mbt_ffi_load32((iter_base) + 52)); index1629 = index1629 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1629 * 24) + + let result1625 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1627 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1626 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1626) + } + _ => panic() + } + + array1628.push(@types.SchemaTypeDef::{id : result1625, name : lifted1627, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1659 : Array[@types.SchemaValueNode] = []; + for index1660 = 0; index1660 < (mbt_ffi_load32((iter_base) + 64)); index1660 = index1660 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index1660 * 32) + + let lifted1658 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1630 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1630) + } + 13 => { + + let array1631 : Array[Int] = []; + for index1632 = 0; index1632 < (mbt_ffi_load32((iter_base) + 12)); index1632 = index1632 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1632 * 4) + + array1631.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1631) + } + 14 => { + + let lifted1633 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1633}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1634 : Array[Bool] = []; + for index1635 = 0; index1635 < (mbt_ffi_load32((iter_base) + 12)); index1635 = index1635 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1635 * 1) + + array1634.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1634) + } + 17 => { + + let array1636 : Array[Int] = []; + for index1637 = 0; index1637 < (mbt_ffi_load32((iter_base) + 12)); index1637 = index1637 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1637 * 4) + + array1636.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1636) + } + 18 => { + + let array1638 : Array[Int] = []; + for index1639 = 0; index1639 < (mbt_ffi_load32((iter_base) + 12)); index1639 = index1639 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1639 * 4) + + array1638.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1638) + } + 19 => { + + let array1640 : Array[Int] = []; + for index1641 = 0; index1641 < (mbt_ffi_load32((iter_base) + 12)); index1641 = index1641 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1641 * 4) + + array1640.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1640) + } + 20 => { + + let array1642 : Array[@types.MapEntry] = []; + for index1643 = 0; index1643 < (mbt_ffi_load32((iter_base) + 12)); index1643 = index1643 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1643 * 8) + + array1642.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1642) + } + 21 => { + + let lifted1644 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1644) + } + 22 => { + + let lifted1647 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1645 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1645) + } + 1 => { + + let lifted1646 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1646) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1647) + } + 23 => { + + let result1648 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1650 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1649 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1649) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1648, language : lifted1650}) + } + 24 => { + + let result1651 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1653 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1652 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1652) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1651, mime_type : lifted1653}) + } + 25 => { + + let result1654 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1654) + } + 26 => { + + let result1655 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1655) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1656 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1656}) + } + 30 => { + + let result1657 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1657, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1659.push(lifted1658) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + let result1661 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 72), mbt_ffi_load32((iter_base) + 76)) + + let array1663 : Array[String] = []; + for index1664 = 0; index1664 < (mbt_ffi_load32((iter_base) + 84)); index1664 = index1664 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 80)) + (index1664 * 8) + + let result1662 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1663.push(result1662) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 80)) + + let array1678 : Array[Array[SpanData]] = []; + for index1679 = 0; index1679 < (mbt_ffi_load32((iter_base) + 92)); index1679 = index1679 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index1679 * 8) + + let array1676 : Array[SpanData] = []; + for index1677 = 0; index1677 < (mbt_ffi_load32((iter_base) + 4)); index1677 = index1677 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index1677 * 80) + + let lifted1675 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result1665 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1667 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result1666 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result1666) + } + _ => panic() + } + + let lifted1668 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array1672 : Array[@context.Attribute] = []; + for index1673 = 0; index1673 < (mbt_ffi_load32((iter_base) + 68)); index1673 = index1673 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index1673 * 20) + + let result1669 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1671 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result1670 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result1670) + } + _ => panic() + } + + array1672.push(@context.Attribute::{key : result1669, value : lifted1671}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result1665, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted1667, linked_context : lifted1668, attributes : array1672, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result1674 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result1674}) + } + _ => panic() + } + + array1676.push(lifted1675) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array1678.push(array1676) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + AgentInvocation::AgentInitialization(AgentInitializationParameters::{idempotency_key : result1426, constructor_parameters : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1623, defs : array1628, root : mbt_ffi_load32((iter_base) + 56)}, value : @types.SchemaValueTree::{value_nodes : array1659, root : mbt_ffi_load32((iter_base) + 68)}}, trace_id : result1661, trace_states : array1663, invocation_context : array1678}) + } + 1 => { + + let result1680 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result1681 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let array1878 : Array[@types.SchemaTypeNode] = []; + for index1879 = 0; index1879 < (mbt_ffi_load32((iter_base) + 52)); index1879 = index1879 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1879 * 144) + + let lifted1864 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1688 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1683 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1682 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1682) + } + _ => panic() + } + + let lifted1685 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1684 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1684) + } + _ => panic() + } + + let lifted1687 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1686 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1686) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1683, max : lifted1685, unit : lifted1687}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1688) + } + 3 => { + + let lifted1695 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1690 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1689 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1689) + } + _ => panic() + } + + let lifted1692 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1691 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1691) + } + _ => panic() + } + + let lifted1694 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1693 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1693) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1690, max : lifted1692, unit : lifted1694}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1695) + } + 4 => { + + let lifted1702 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1697 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1696 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1696) + } + _ => panic() + } + + let lifted1699 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1698 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1698) + } + _ => panic() + } + + let lifted1701 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1700 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1700) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1697, max : lifted1699, unit : lifted1701}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1702) + } + 5 => { + + let lifted1709 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1704 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1703 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1703) + } + _ => panic() + } + + let lifted1706 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1705 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1705) + } + _ => panic() + } + + let lifted1708 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1707 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1707) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1704, max : lifted1706, unit : lifted1708}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1709) + } + 6 => { + + let lifted1716 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1711 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1710 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1710) + } + _ => panic() + } + + let lifted1713 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1712 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1712) + } + _ => panic() + } + + let lifted1715 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1714 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1714) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1711, max : lifted1713, unit : lifted1715}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1716) + } + 7 => { + + let lifted1723 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1718 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1717 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1717) + } + _ => panic() + } + + let lifted1720 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1719 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1719) + } + _ => panic() + } + + let lifted1722 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1721 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1721) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1718, max : lifted1720, unit : lifted1722}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1723) + } + 8 => { + + let lifted1730 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1725 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1724 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1724) + } + _ => panic() + } + + let lifted1727 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1726 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1726) + } + _ => panic() + } + + let lifted1729 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1728 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1728) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1725, max : lifted1727, unit : lifted1729}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1730) + } + 9 => { + + let lifted1737 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1732 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1731 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1731) + } + _ => panic() + } + + let lifted1734 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1733 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1733) + } + _ => panic() + } + + let lifted1736 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1735 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1735) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1732, max : lifted1734, unit : lifted1736}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1737) + } + 10 => { + + let lifted1744 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1739 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1738 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1738) + } + _ => panic() + } + + let lifted1741 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1740 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1740) + } + _ => panic() + } + + let lifted1743 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1742 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1742) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1739, max : lifted1741, unit : lifted1743}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1744) + } + 11 => { + + let lifted1751 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1746 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1745 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1745) + } + _ => panic() + } + + let lifted1748 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1747 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1747) + } + _ => panic() + } + + let lifted1750 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1749 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1749) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1746, max : lifted1748, unit : lifted1750}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1751) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1766 : Array[@types.NamedFieldType] = []; + for index1767 = 0; index1767 < (mbt_ffi_load32((iter_base) + 12)); index1767 = index1767 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1767 * 68) + + let result1752 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1754 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1753 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1753) + } + _ => panic() + } + + let array1756 : Array[String] = []; + for index1757 = 0; index1757 < (mbt_ffi_load32((iter_base) + 28)); index1757 = index1757 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1757 * 8) + + let result1755 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1756.push(result1755) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1759 : Array[String] = []; + for index1760 = 0; index1760 < (mbt_ffi_load32((iter_base) + 36)); index1760 = index1760 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1760 * 8) + + let result1758 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1759.push(result1758) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1762 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1761 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1761) + } + _ => panic() + } + + let lifted1765 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1764 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1763 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1763) + } + _ => panic() + } + + Option::Some(lifted1764) + } + _ => panic() + } + + array1766.push(@types.NamedFieldType::{name : result1752, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1754, aliases : array1756, examples : array1759, deprecated : lifted1762, role : lifted1765}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1766) + } + 15 => { + + let array1783 : Array[@types.VariantCaseType] = []; + for index1784 = 0; index1784 < (mbt_ffi_load32((iter_base) + 12)); index1784 = index1784 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1784 * 72) + + let result1768 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1769 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1771 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1770 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1770) + } + _ => panic() + } + + let array1773 : Array[String] = []; + for index1774 = 0; index1774 < (mbt_ffi_load32((iter_base) + 32)); index1774 = index1774 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1774 * 8) + + let result1772 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1773.push(result1772) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1776 : Array[String] = []; + for index1777 = 0; index1777 < (mbt_ffi_load32((iter_base) + 40)); index1777 = index1777 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1777 * 8) + + let result1775 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1776.push(result1775) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1779 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1778 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1778) + } + _ => panic() + } + + let lifted1782 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1781 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1780 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1780) + } + _ => panic() + } + + Option::Some(lifted1781) + } + _ => panic() + } + + array1783.push(@types.VariantCaseType::{name : result1768, payload : lifted1769, metadata : @types.MetadataEnvelope::{doc : lifted1771, aliases : array1773, examples : array1776, deprecated : lifted1779, role : lifted1782}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1783) + } + 16 => { + + let array1786 : Array[String] = []; + for index1787 = 0; index1787 < (mbt_ffi_load32((iter_base) + 12)); index1787 = index1787 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1787 * 8) + + let result1785 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1786.push(result1785) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1786) + } + 17 => { + + let array1789 : Array[String] = []; + for index1790 = 0; index1790 < (mbt_ffi_load32((iter_base) + 12)); index1790 = index1790 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1790 * 8) + + let result1788 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1789.push(result1788) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1789) + } + 18 => { + + let array1791 : Array[Int] = []; + for index1792 = 0; index1792 < (mbt_ffi_load32((iter_base) + 12)); index1792 = index1792 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1792 * 4) + + array1791.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1791) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1793 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1794 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1793, err : lifted1794}) + } + 24 => { + + let lifted1798 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1796 : Array[String] = []; + for index1797 = 0; index1797 < (mbt_ffi_load32((iter_base) + 16)); index1797 = index1797 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1797 * 8) + + let result1795 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1796.push(result1795) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1796) + } + _ => panic() + } + + let lifted1799 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1800 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1802 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1801 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1801) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1798, min_length : lifted1799, max_length : lifted1800, regex : lifted1802}) + } + 25 => { + + let lifted1806 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1804 : Array[String] = []; + for index1805 = 0; index1805 < (mbt_ffi_load32((iter_base) + 16)); index1805 = index1805 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1805 * 8) + + let result1803 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1804.push(result1803) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1804) + } + _ => panic() + } + + let lifted1807 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1808 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1806, min_bytes : lifted1807, max_bytes : lifted1808}) + } + 26 => { + + let lifted1812 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1810 : Array[String] = []; + for index1811 = 0; index1811 < (mbt_ffi_load32((iter_base) + 20)); index1811 = index1811 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1811 * 8) + + let result1809 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1810.push(result1809) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1810) + } + _ => panic() + } + + let lifted1816 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1814 : Array[String] = []; + for index1815 = 0; index1815 < (mbt_ffi_load32((iter_base) + 32)); index1815 = index1815 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1815 * 8) + + let result1813 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1814.push(result1813) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1814) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1812, allowed_extensions : lifted1816}) + } + 27 => { + + let lifted1820 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1818 : Array[String] = []; + for index1819 = 0; index1819 < (mbt_ffi_load32((iter_base) + 16)); index1819 = index1819 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1819 * 8) + + let result1817 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1818.push(result1817) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1818) + } + _ => panic() + } + + let lifted1824 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1822 : Array[String] = []; + for index1823 = 0; index1823 < (mbt_ffi_load32((iter_base) + 28)); index1823 = index1823 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1823 * 8) + + let result1821 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1822.push(result1821) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1822) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1820, allowed_hosts : lifted1824}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1825 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1827 : Array[String] = []; + for index1828 = 0; index1828 < (mbt_ffi_load32((iter_base) + 20)); index1828 = index1828 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1828 * 8) + + let result1826 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1827.push(result1826) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1830 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1829 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1829}) + } + _ => panic() + } + + let lifted1832 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1831}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1825, allowed_suffixes : array1827, min : lifted1830, max : lifted1832}) + } + 31 => { + + let array1856 : Array[@types.UnionBranch] = []; + for index1857 = 0; index1857 < (mbt_ffi_load32((iter_base) + 12)); index1857 = index1857 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1857 * 92) + + let result1833 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1842 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1834 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1834) + } + 1 => { + + let result1835 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1835) + } + 2 => { + + let result1836 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1836) + } + 3 => { + + let result1837 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1837) + } + 4 => { + + let result1838 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1840 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1839 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1839) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1838, literal : lifted1840}) + } + 5 => { + + let result1841 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1841) + } + _ => panic() + } + + let lifted1844 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1843 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1843) + } + _ => panic() + } + + let array1846 : Array[String] = []; + for index1847 = 0; index1847 < (mbt_ffi_load32((iter_base) + 52)); index1847 = index1847 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1847 * 8) + + let result1845 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1846.push(result1845) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1849 : Array[String] = []; + for index1850 = 0; index1850 < (mbt_ffi_load32((iter_base) + 60)); index1850 = index1850 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1850 * 8) + + let result1848 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1849.push(result1848) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1852 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1851 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1851) + } + _ => panic() + } + + let lifted1855 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1854 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1853 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1853) + } + _ => panic() + } + + Option::Some(lifted1854) + } + _ => panic() + } + + array1856.push(@types.UnionBranch::{tag : result1833, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1842, metadata : @types.MetadataEnvelope::{doc : lifted1844, aliases : array1846, examples : array1849, deprecated : lifted1852, role : lifted1855}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1856}) + } + 32 => { + + let lifted1859 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1858 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1858) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1859}) + } + 33 => { + + let lifted1861 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1860 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1860) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1861}) + } + 34 => { + + let lifted1862 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1862) + } + 35 => { + + let lifted1863 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1863) + } + _ => panic() + } + + let lifted1866 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1865 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1865) + } + _ => panic() + } + + let array1868 : Array[String] = []; + for index1869 = 0; index1869 < (mbt_ffi_load32((iter_base) + 104)); index1869 = index1869 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1869 * 8) + + let result1867 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1868.push(result1867) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1871 : Array[String] = []; + for index1872 = 0; index1872 < (mbt_ffi_load32((iter_base) + 112)); index1872 = index1872 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1872 * 8) + + let result1870 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1871.push(result1870) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1874 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1873 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1873) + } + _ => panic() + } + + let lifted1877 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1876 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1875 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1875) + } + _ => panic() + } + + Option::Some(lifted1876) + } + _ => panic() + } + + array1878.push(@types.SchemaTypeNode::{body : lifted1864, metadata : @types.MetadataEnvelope::{doc : lifted1866, aliases : array1868, examples : array1871, deprecated : lifted1874, role : lifted1877}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1883 : Array[@types.SchemaTypeDef] = []; + for index1884 = 0; index1884 < (mbt_ffi_load32((iter_base) + 60)); index1884 = index1884 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1884 * 24) + + let result1880 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1882 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1881 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1881) + } + _ => panic() + } + + array1883.push(@types.SchemaTypeDef::{id : result1880, name : lifted1882, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let array1914 : Array[@types.SchemaValueNode] = []; + for index1915 = 0; index1915 < (mbt_ffi_load32((iter_base) + 72)); index1915 = index1915 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index1915 * 32) + + let lifted1913 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1885 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1885) + } + 13 => { + + let array1886 : Array[Int] = []; + for index1887 = 0; index1887 < (mbt_ffi_load32((iter_base) + 12)); index1887 = index1887 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1887 * 4) + + array1886.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1886) + } + 14 => { + + let lifted1888 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1888}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1889 : Array[Bool] = []; + for index1890 = 0; index1890 < (mbt_ffi_load32((iter_base) + 12)); index1890 = index1890 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1890 * 1) + + array1889.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1889) + } + 17 => { + + let array1891 : Array[Int] = []; + for index1892 = 0; index1892 < (mbt_ffi_load32((iter_base) + 12)); index1892 = index1892 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1892 * 4) + + array1891.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1891) + } + 18 => { + + let array1893 : Array[Int] = []; + for index1894 = 0; index1894 < (mbt_ffi_load32((iter_base) + 12)); index1894 = index1894 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1894 * 4) + + array1893.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1893) + } + 19 => { + + let array1895 : Array[Int] = []; + for index1896 = 0; index1896 < (mbt_ffi_load32((iter_base) + 12)); index1896 = index1896 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1896 * 4) + + array1895.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1895) + } + 20 => { + + let array1897 : Array[@types.MapEntry] = []; + for index1898 = 0; index1898 < (mbt_ffi_load32((iter_base) + 12)); index1898 = index1898 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1898 * 8) + + array1897.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1897) + } + 21 => { + + let lifted1899 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1899) + } + 22 => { + + let lifted1902 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1900 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1900) + } + 1 => { + + let lifted1901 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1901) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1902) + } + 23 => { + + let result1903 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1905 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1904 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1904) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1903, language : lifted1905}) + } + 24 => { + + let result1906 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1908 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1907 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1907) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1906, mime_type : lifted1908}) + } + 25 => { + + let result1909 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1909) + } + 26 => { + + let result1910 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1910) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1911 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1911}) + } + 30 => { + + let result1912 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1912, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1914.push(lifted1913) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) + + let result1916 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 80), mbt_ffi_load32((iter_base) + 84)) + + let array1918 : Array[String] = []; + for index1919 = 0; index1919 < (mbt_ffi_load32((iter_base) + 92)); index1919 = index1919 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index1919 * 8) + + let result1917 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1918.push(result1917) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + let array1933 : Array[Array[SpanData]] = []; + for index1934 = 0; index1934 < (mbt_ffi_load32((iter_base) + 100)); index1934 = index1934 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index1934 * 8) + + let array1931 : Array[SpanData] = []; + for index1932 = 0; index1932 < (mbt_ffi_load32((iter_base) + 4)); index1932 = index1932 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index1932 * 80) + + let lifted1930 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result1920 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1922 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result1921 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result1921) + } + _ => panic() + } + + let lifted1923 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array1927 : Array[@context.Attribute] = []; + for index1928 = 0; index1928 < (mbt_ffi_load32((iter_base) + 68)); index1928 = index1928 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index1928 * 20) + + let result1924 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1926 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result1925 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result1925) + } + _ => panic() + } + + array1927.push(@context.Attribute::{key : result1924, value : lifted1926}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result1920, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted1922, linked_context : lifted1923, attributes : array1927, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result1929 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result1929}) + } + _ => panic() + } + + array1931.push(lifted1930) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array1933.push(array1931) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) + + AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{idempotency_key : result1680, method_name : result1681, function_input : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1878, defs : array1883, root : mbt_ffi_load32((iter_base) + 64)}, value : @types.SchemaValueTree::{value_nodes : array1914, root : mbt_ffi_load32((iter_base) + 76)}}, trace_id : result1916, trace_states : array1918, invocation_context : array1933}) + } + 2 => { + + AgentInvocation::SaveSnapshot + } + 3 => { + + let result1935 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result1936 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{snapshot : SnapshotData::{data : result1935, mime_type : result1936}}) + } + 4 => { + + let result1937 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{idempotency_key : result1937}) + } + 5 => { + + AgentInvocation::ManualUpdate(ManualUpdateParameters::{target_revision : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + _ => panic() + } + + PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, invocation : lifted1938}) + } + 5 => { + + let lifted2413 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + let array2135 : Array[@types.SchemaTypeNode] = []; + for index2136 = 0; index2136 < (mbt_ffi_load32((iter_base) + 32)); index2136 = index2136 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2136 * 144) + + let lifted2121 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1945 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1940 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1939 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1939) + } + _ => panic() + } + + let lifted1942 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1941 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1941) + } + _ => panic() + } + + let lifted1944 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1943 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1943) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1940, max : lifted1942, unit : lifted1944}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1945) + } + 3 => { + + let lifted1952 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1947 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1946 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1946) + } + _ => panic() + } + + let lifted1949 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1948 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1948) + } + _ => panic() + } + + let lifted1951 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1950 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1950) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1947, max : lifted1949, unit : lifted1951}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1952) + } + 4 => { + + let lifted1959 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1954 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1953 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1953) + } + _ => panic() + } + + let lifted1956 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1955 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1955) + } + _ => panic() + } + + let lifted1958 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1957 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1957) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1954, max : lifted1956, unit : lifted1958}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1959) + } + 5 => { + + let lifted1966 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1961 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1960 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1960) + } + _ => panic() + } + + let lifted1963 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1962 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1962) + } + _ => panic() + } + + let lifted1965 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1964 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1964) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1961, max : lifted1963, unit : lifted1965}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1966) + } + 6 => { + + let lifted1973 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1968 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1967 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1967) + } + _ => panic() + } + + let lifted1970 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1969 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1969) + } + _ => panic() + } + + let lifted1972 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1971 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1971) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1968, max : lifted1970, unit : lifted1972}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1973) + } + 7 => { + + let lifted1980 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1975 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1974 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1974) + } + _ => panic() + } + + let lifted1977 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1976 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1976) + } + _ => panic() + } + + let lifted1979 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1978 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1978) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1975, max : lifted1977, unit : lifted1979}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1980) + } + 8 => { + + let lifted1987 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1982 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1981 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1981) + } + _ => panic() + } + + let lifted1984 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1983 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1983) + } + _ => panic() + } + + let lifted1986 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1985 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1985) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1982, max : lifted1984, unit : lifted1986}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1987) + } + 9 => { + + let lifted1994 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1989 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1988 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1988) + } + _ => panic() + } + + let lifted1991 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1990 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1990) + } + _ => panic() + } + + let lifted1993 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1992 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1992) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1989, max : lifted1991, unit : lifted1993}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1994) + } + 10 => { + + let lifted2001 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1996 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1995 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1995) + } + _ => panic() + } + + let lifted1998 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1997 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1997) + } + _ => panic() + } + + let lifted2000 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1999 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1999) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1996, max : lifted1998, unit : lifted2000}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted2001) + } + 11 => { + + let lifted2008 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2003 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2002 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2002) + } + _ => panic() + } + + let lifted2005 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2004 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2004) + } + _ => panic() + } + + let lifted2007 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2006 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2006) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2003, max : lifted2005, unit : lifted2007}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted2008) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array2023 : Array[@types.NamedFieldType] = []; + for index2024 = 0; index2024 < (mbt_ffi_load32((iter_base) + 12)); index2024 = index2024 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2024 * 68) + + let result2009 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2011 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2010 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2010) + } + _ => panic() + } + + let array2013 : Array[String] = []; + for index2014 = 0; index2014 < (mbt_ffi_load32((iter_base) + 28)); index2014 = index2014 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2014 * 8) + + let result2012 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2013.push(result2012) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array2016 : Array[String] = []; + for index2017 = 0; index2017 < (mbt_ffi_load32((iter_base) + 36)); index2017 = index2017 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2017 * 8) + + let result2015 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2016.push(result2015) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted2019 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result2018 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result2018) + } + _ => panic() + } + + let lifted2022 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted2021 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2020 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result2020) + } + _ => panic() + } + + Option::Some(lifted2021) + } + _ => panic() + } + + array2023.push(@types.NamedFieldType::{name : result2009, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2011, aliases : array2013, examples : array2016, deprecated : lifted2019, role : lifted2022}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array2023) + } + 15 => { + + let array2040 : Array[@types.VariantCaseType] = []; + for index2041 = 0; index2041 < (mbt_ffi_load32((iter_base) + 12)); index2041 = index2041 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2041 * 72) + + let result2025 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2026 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2028 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2027 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2027) + } + _ => panic() + } + + let array2030 : Array[String] = []; + for index2031 = 0; index2031 < (mbt_ffi_load32((iter_base) + 32)); index2031 = index2031 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2031 * 8) + + let result2029 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2030.push(result2029) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2033 : Array[String] = []; + for index2034 = 0; index2034 < (mbt_ffi_load32((iter_base) + 40)); index2034 = index2034 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2034 * 8) + + let result2032 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2033.push(result2032) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted2036 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2035 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2035) + } + _ => panic() + } + + let lifted2039 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted2038 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2037 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result2037) + } + _ => panic() + } + + Option::Some(lifted2038) + } + _ => panic() + } + + array2040.push(@types.VariantCaseType::{name : result2025, payload : lifted2026, metadata : @types.MetadataEnvelope::{doc : lifted2028, aliases : array2030, examples : array2033, deprecated : lifted2036, role : lifted2039}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array2040) + } + 16 => { + + let array2043 : Array[String] = []; + for index2044 = 0; index2044 < (mbt_ffi_load32((iter_base) + 12)); index2044 = index2044 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2044 * 8) + + let result2042 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2043.push(result2042) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array2043) + } + 17 => { + + let array2046 : Array[String] = []; + for index2047 = 0; index2047 < (mbt_ffi_load32((iter_base) + 12)); index2047 = index2047 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2047 * 8) + + let result2045 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2046.push(result2045) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array2046) + } + 18 => { + + let array2048 : Array[Int] = []; + for index2049 = 0; index2049 < (mbt_ffi_load32((iter_base) + 12)); index2049 = index2049 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2049 * 4) + + array2048.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array2048) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted2050 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2051 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2050, err : lifted2051}) + } + 24 => { + + let lifted2055 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2053 : Array[String] = []; + for index2054 = 0; index2054 < (mbt_ffi_load32((iter_base) + 16)); index2054 = index2054 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2054 * 8) + + let result2052 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2053.push(result2052) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2053) + } + _ => panic() + } + + let lifted2056 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2057 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2059 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2058 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2058) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2055, min_length : lifted2056, max_length : lifted2057, regex : lifted2059}) + } + 25 => { + + let lifted2063 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2061 : Array[String] = []; + for index2062 = 0; index2062 < (mbt_ffi_load32((iter_base) + 16)); index2062 = index2062 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2062 * 8) + + let result2060 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2061.push(result2060) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2061) + } + _ => panic() + } + + let lifted2064 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2065 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2063, min_bytes : lifted2064, max_bytes : lifted2065}) + } + 26 => { + + let lifted2069 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array2067 : Array[String] = []; + for index2068 = 0; index2068 < (mbt_ffi_load32((iter_base) + 20)); index2068 = index2068 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2068 * 8) + + let result2066 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2067.push(result2066) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array2067) + } + _ => panic() + } + + let lifted2073 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array2071 : Array[String] = []; + for index2072 = 0; index2072 < (mbt_ffi_load32((iter_base) + 32)); index2072 = index2072 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2072 * 8) + + let result2070 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2071.push(result2070) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2071) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2069, allowed_extensions : lifted2073}) + } + 27 => { + + let lifted2077 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2075 : Array[String] = []; + for index2076 = 0; index2076 < (mbt_ffi_load32((iter_base) + 16)); index2076 = index2076 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2076 * 8) + + let result2074 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2075.push(result2074) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2075) + } + _ => panic() + } + + let lifted2081 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2079 : Array[String] = []; + for index2080 = 0; index2080 < (mbt_ffi_load32((iter_base) + 28)); index2080 = index2080 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2080 * 8) + + let result2078 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2079.push(result2078) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2079) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2077, allowed_hosts : lifted2081}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2082 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2084 : Array[String] = []; + for index2085 = 0; index2085 < (mbt_ffi_load32((iter_base) + 20)); index2085 = index2085 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2085 * 8) + + let result2083 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2084.push(result2083) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2087 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2086 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2086}) + } + _ => panic() + } + + let lifted2089 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result2088 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2088}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2082, allowed_suffixes : array2084, min : lifted2087, max : lifted2089}) + } + 31 => { + + let array2113 : Array[@types.UnionBranch] = []; + for index2114 = 0; index2114 < (mbt_ffi_load32((iter_base) + 12)); index2114 = index2114 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2114 * 92) + + let result2090 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2099 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2091 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2091) + } + 1 => { + + let result2092 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result2092) + } + 2 => { + + let result2093 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result2093) + } + 3 => { + + let result2094 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result2094) + } + 4 => { + + let result2095 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted2097 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2096 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result2096) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2095, literal : lifted2097}) + } + 5 => { + + let result2098 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result2098) + } + _ => panic() + } + + let lifted2101 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2100 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2100) + } + _ => panic() + } + + let array2103 : Array[String] = []; + for index2104 = 0; index2104 < (mbt_ffi_load32((iter_base) + 52)); index2104 = index2104 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2104 * 8) + + let result2102 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2103.push(result2102) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2106 : Array[String] = []; + for index2107 = 0; index2107 < (mbt_ffi_load32((iter_base) + 60)); index2107 = index2107 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2107 * 8) + + let result2105 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2106.push(result2105) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted2109 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2108 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2108) + } + _ => panic() + } + + let lifted2112 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted2111 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2110 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result2110) + } + _ => panic() + } + + Option::Some(lifted2111) + } + _ => panic() + } + + array2113.push(@types.UnionBranch::{tag : result2090, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2099, metadata : @types.MetadataEnvelope::{doc : lifted2101, aliases : array2103, examples : array2106, deprecated : lifted2109, role : lifted2112}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2113}) + } + 32 => { + + let lifted2116 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2115 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2115) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2116}) + } + 33 => { + + let lifted2118 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2117 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2117) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2118}) + } + 34 => { + + let lifted2119 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted2119) + } + 35 => { + + let lifted2120 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted2120) + } + _ => panic() + } + + let lifted2123 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result2122 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result2122) + } + _ => panic() + } + + let array2125 : Array[String] = []; + for index2126 = 0; index2126 < (mbt_ffi_load32((iter_base) + 104)); index2126 = index2126 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2126 * 8) + + let result2124 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2125.push(result2124) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array2128 : Array[String] = []; + for index2129 = 0; index2129 < (mbt_ffi_load32((iter_base) + 112)); index2129 = index2129 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2129 * 8) + + let result2127 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2128.push(result2127) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted2131 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result2130 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result2130) + } + _ => panic() + } + + let lifted2134 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted2133 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2132 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result2132) + } + _ => panic() + } + + Option::Some(lifted2133) + } + _ => panic() + } + + array2135.push(@types.SchemaTypeNode::{body : lifted2121, metadata : @types.MetadataEnvelope::{doc : lifted2123, aliases : array2125, examples : array2128, deprecated : lifted2131, role : lifted2134}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2140 : Array[@types.SchemaTypeDef] = []; + for index2141 = 0; index2141 < (mbt_ffi_load32((iter_base) + 40)); index2141 = index2141 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2141 * 24) + + let result2137 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2139 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2138 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2138) + } + _ => panic() + } + + array2140.push(@types.SchemaTypeDef::{id : result2137, name : lifted2139, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array2171 : Array[@types.SchemaValueNode] = []; + for index2172 = 0; index2172 < (mbt_ffi_load32((iter_base) + 52)); index2172 = index2172 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2172 * 32) + + let lifted2170 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result2142 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result2142) + } + 13 => { + + let array2143 : Array[Int] = []; + for index2144 = 0; index2144 < (mbt_ffi_load32((iter_base) + 12)); index2144 = index2144 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2144 * 4) + + array2143.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array2143) + } + 14 => { + + let lifted2145 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2145}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array2146 : Array[Bool] = []; + for index2147 = 0; index2147 < (mbt_ffi_load32((iter_base) + 12)); index2147 = index2147 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2147 * 1) + + array2146.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array2146) + } + 17 => { + + let array2148 : Array[Int] = []; + for index2149 = 0; index2149 < (mbt_ffi_load32((iter_base) + 12)); index2149 = index2149 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2149 * 4) + + array2148.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array2148) + } + 18 => { + + let array2150 : Array[Int] = []; + for index2151 = 0; index2151 < (mbt_ffi_load32((iter_base) + 12)); index2151 = index2151 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2151 * 4) + + array2150.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array2150) + } + 19 => { + + let array2152 : Array[Int] = []; + for index2153 = 0; index2153 < (mbt_ffi_load32((iter_base) + 12)); index2153 = index2153 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2153 * 4) + + array2152.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array2152) + } + 20 => { + + let array2154 : Array[@types.MapEntry] = []; + for index2155 = 0; index2155 < (mbt_ffi_load32((iter_base) + 12)); index2155 = index2155 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2155 * 8) + + array2154.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array2154) + } + 21 => { + + let lifted2156 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted2156) + } + 22 => { + + let lifted2159 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted2157 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted2157) + } + 1 => { + + let lifted2158 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted2158) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted2159) + } + 23 => { + + let result2160 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2162 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2161 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2161) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2160, language : lifted2162}) + } + 24 => { + + let result2163 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2165 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2164 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2164) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2163, mime_type : lifted2165}) + } + 25 => { + + let result2166 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result2166) + } + 26 => { + + let result2167 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result2167) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result2168 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2168}) + } + 30 => { + + let result2169 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2169, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array2171.push(lifted2170) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + AgentInvocationResult::AgentInitialization(AgentInvocationOutputParameters::{output : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2135, defs : array2140, root : mbt_ffi_load32((iter_base) + 44)}, value : @types.SchemaValueTree::{value_nodes : array2171, root : mbt_ffi_load32((iter_base) + 56)}}}) + } + 1 => { + + let array2369 : Array[@types.SchemaTypeNode] = []; + for index2370 = 0; index2370 < (mbt_ffi_load32((iter_base) + 32)); index2370 = index2370 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2370 * 144) + + let lifted2355 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted2179 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2174 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2173 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2173) + } + _ => panic() + } + + let lifted2176 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2175 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2175) + } + _ => panic() + } + + let lifted2178 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2177 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2177) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2174, max : lifted2176, unit : lifted2178}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted2179) + } + 3 => { + + let lifted2186 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2181 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2180 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2180) + } + _ => panic() + } + + let lifted2183 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2182 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2182) + } + _ => panic() + } + + let lifted2185 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2184 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2184) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2181, max : lifted2183, unit : lifted2185}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted2186) + } + 4 => { + + let lifted2193 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2188 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2187 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2187) + } + _ => panic() + } + + let lifted2190 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2189 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2189) + } + _ => panic() + } + + let lifted2192 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2191 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2191) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2188, max : lifted2190, unit : lifted2192}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted2193) + } + 5 => { + + let lifted2200 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2195 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2194 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2194) + } + _ => panic() + } + + let lifted2197 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2196 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2196) + } + _ => panic() + } + + let lifted2199 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2198 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2198) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2195, max : lifted2197, unit : lifted2199}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted2200) + } + 6 => { + + let lifted2207 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2202 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2201 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2201) + } + _ => panic() + } + + let lifted2204 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2203 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2203) + } + _ => panic() + } + + let lifted2206 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2205 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2205) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2202, max : lifted2204, unit : lifted2206}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted2207) + } + 7 => { + + let lifted2214 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2209 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2208 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2208) + } + _ => panic() + } + + let lifted2211 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2210 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2210) + } + _ => panic() + } + + let lifted2213 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2212 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2212) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2209, max : lifted2211, unit : lifted2213}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2214) + } + 8 => { + + let lifted2221 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2216 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2215 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2215) + } + _ => panic() + } + + let lifted2218 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2217 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2217) + } + _ => panic() + } + + let lifted2220 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2219 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2219) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2216, max : lifted2218, unit : lifted2220}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2221) + } + 9 => { + + let lifted2228 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2223 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2222 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2222) + } + _ => panic() + } + + let lifted2225 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2224 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2224) + } + _ => panic() + } + + let lifted2227 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2226 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2226) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2223, max : lifted2225, unit : lifted2227}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2228) + } + 10 => { + + let lifted2235 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2230 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2229 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2229) + } + _ => panic() + } + + let lifted2232 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2231 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2231) + } + _ => panic() + } + + let lifted2234 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2233 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2233) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2230, max : lifted2232, unit : lifted2234}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted2235) + } + 11 => { + + let lifted2242 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2237 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2236 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2236) + } + _ => panic() + } + + let lifted2239 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2238 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2238) + } + _ => panic() + } + + let lifted2241 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2240 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2240) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2237, max : lifted2239, unit : lifted2241}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted2242) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array2257 : Array[@types.NamedFieldType] = []; + for index2258 = 0; index2258 < (mbt_ffi_load32((iter_base) + 12)); index2258 = index2258 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2258 * 68) + + let result2243 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2245 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2244 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2244) + } + _ => panic() + } + + let array2247 : Array[String] = []; + for index2248 = 0; index2248 < (mbt_ffi_load32((iter_base) + 28)); index2248 = index2248 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2248 * 8) + + let result2246 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2247.push(result2246) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array2250 : Array[String] = []; + for index2251 = 0; index2251 < (mbt_ffi_load32((iter_base) + 36)); index2251 = index2251 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2251 * 8) + + let result2249 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2250.push(result2249) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted2253 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result2252 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result2252) + } + _ => panic() + } + + let lifted2256 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted2255 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2254 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result2254) + } + _ => panic() + } + + Option::Some(lifted2255) + } + _ => panic() + } + + array2257.push(@types.NamedFieldType::{name : result2243, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2245, aliases : array2247, examples : array2250, deprecated : lifted2253, role : lifted2256}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array2257) + } + 15 => { + + let array2274 : Array[@types.VariantCaseType] = []; + for index2275 = 0; index2275 < (mbt_ffi_load32((iter_base) + 12)); index2275 = index2275 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2275 * 72) + + let result2259 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2260 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2262 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2261 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2261) + } + _ => panic() + } + + let array2264 : Array[String] = []; + for index2265 = 0; index2265 < (mbt_ffi_load32((iter_base) + 32)); index2265 = index2265 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2265 * 8) + + let result2263 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2264.push(result2263) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2267 : Array[String] = []; + for index2268 = 0; index2268 < (mbt_ffi_load32((iter_base) + 40)); index2268 = index2268 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2268 * 8) + + let result2266 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2267.push(result2266) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted2270 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2269 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2269) + } + _ => panic() + } + + let lifted2273 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted2272 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2271 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result2271) + } + _ => panic() + } + + Option::Some(lifted2272) + } + _ => panic() + } + + array2274.push(@types.VariantCaseType::{name : result2259, payload : lifted2260, metadata : @types.MetadataEnvelope::{doc : lifted2262, aliases : array2264, examples : array2267, deprecated : lifted2270, role : lifted2273}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array2274) + } + 16 => { + + let array2277 : Array[String] = []; + for index2278 = 0; index2278 < (mbt_ffi_load32((iter_base) + 12)); index2278 = index2278 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2278 * 8) + + let result2276 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2277.push(result2276) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array2277) + } + 17 => { + + let array2280 : Array[String] = []; + for index2281 = 0; index2281 < (mbt_ffi_load32((iter_base) + 12)); index2281 = index2281 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2281 * 8) + + let result2279 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2280.push(result2279) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array2280) + } + 18 => { + + let array2282 : Array[Int] = []; + for index2283 = 0; index2283 < (mbt_ffi_load32((iter_base) + 12)); index2283 = index2283 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2283 * 4) + + array2282.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array2282) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted2284 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2285 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2284, err : lifted2285}) + } + 24 => { + + let lifted2289 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2287 : Array[String] = []; + for index2288 = 0; index2288 < (mbt_ffi_load32((iter_base) + 16)); index2288 = index2288 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2288 * 8) + + let result2286 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2287.push(result2286) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2287) + } + _ => panic() + } + + let lifted2290 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2291 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2293 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2292 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2292) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2289, min_length : lifted2290, max_length : lifted2291, regex : lifted2293}) + } + 25 => { + + let lifted2297 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2295 : Array[String] = []; + for index2296 = 0; index2296 < (mbt_ffi_load32((iter_base) + 16)); index2296 = index2296 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2296 * 8) + + let result2294 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2295.push(result2294) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2295) + } + _ => panic() + } + + let lifted2298 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2299 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2297, min_bytes : lifted2298, max_bytes : lifted2299}) + } + 26 => { + + let lifted2303 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array2301 : Array[String] = []; + for index2302 = 0; index2302 < (mbt_ffi_load32((iter_base) + 20)); index2302 = index2302 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2302 * 8) + + let result2300 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2301.push(result2300) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array2301) + } + _ => panic() + } + + let lifted2307 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array2305 : Array[String] = []; + for index2306 = 0; index2306 < (mbt_ffi_load32((iter_base) + 32)); index2306 = index2306 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2306 * 8) + + let result2304 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2305.push(result2304) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2305) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2303, allowed_extensions : lifted2307}) + } + 27 => { + + let lifted2311 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2309 : Array[String] = []; + for index2310 = 0; index2310 < (mbt_ffi_load32((iter_base) + 16)); index2310 = index2310 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2310 * 8) + + let result2308 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2309.push(result2308) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2309) + } + _ => panic() + } + + let lifted2315 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2313 : Array[String] = []; + for index2314 = 0; index2314 < (mbt_ffi_load32((iter_base) + 28)); index2314 = index2314 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2314 * 8) + + let result2312 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2313.push(result2312) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2313) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2311, allowed_hosts : lifted2315}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2316 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2318 : Array[String] = []; + for index2319 = 0; index2319 < (mbt_ffi_load32((iter_base) + 20)); index2319 = index2319 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2319 * 8) + + let result2317 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2318.push(result2317) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2321 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2320 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2320}) + } + _ => panic() + } + + let lifted2323 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result2322 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2322}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2316, allowed_suffixes : array2318, min : lifted2321, max : lifted2323}) + } + 31 => { + + let array2347 : Array[@types.UnionBranch] = []; + for index2348 = 0; index2348 < (mbt_ffi_load32((iter_base) + 12)); index2348 = index2348 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2348 * 92) + + let result2324 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2333 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2325 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2325) + } + 1 => { + + let result2326 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result2326) + } + 2 => { + + let result2327 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result2327) + } + 3 => { + + let result2328 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result2328) + } + 4 => { + + let result2329 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted2331 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2330 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result2330) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2329, literal : lifted2331}) + } + 5 => { + + let result2332 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result2332) + } + _ => panic() + } + + let lifted2335 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2334 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2334) + } + _ => panic() + } + + let array2337 : Array[String] = []; + for index2338 = 0; index2338 < (mbt_ffi_load32((iter_base) + 52)); index2338 = index2338 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2338 * 8) + + let result2336 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2337.push(result2336) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2340 : Array[String] = []; + for index2341 = 0; index2341 < (mbt_ffi_load32((iter_base) + 60)); index2341 = index2341 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2341 * 8) + + let result2339 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2340.push(result2339) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted2343 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2342 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2342) + } + _ => panic() + } + + let lifted2346 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted2345 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2344 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result2344) + } + _ => panic() + } + + Option::Some(lifted2345) + } + _ => panic() + } + + array2347.push(@types.UnionBranch::{tag : result2324, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2333, metadata : @types.MetadataEnvelope::{doc : lifted2335, aliases : array2337, examples : array2340, deprecated : lifted2343, role : lifted2346}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2347}) + } + 32 => { + + let lifted2350 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2349 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2349) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2350}) + } + 33 => { + + let lifted2352 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2351 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2351) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2352}) + } + 34 => { + + let lifted2353 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted2353) + } + 35 => { + + let lifted2354 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted2354) + } + _ => panic() + } + + let lifted2357 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result2356 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result2356) + } + _ => panic() + } + + let array2359 : Array[String] = []; + for index2360 = 0; index2360 < (mbt_ffi_load32((iter_base) + 104)); index2360 = index2360 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2360 * 8) + + let result2358 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2359.push(result2358) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array2362 : Array[String] = []; + for index2363 = 0; index2363 < (mbt_ffi_load32((iter_base) + 112)); index2363 = index2363 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2363 * 8) + + let result2361 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2362.push(result2361) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted2365 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result2364 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result2364) + } + _ => panic() + } + + let lifted2368 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted2367 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2366 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result2366) + } + _ => panic() + } + + Option::Some(lifted2367) + } + _ => panic() + } + + array2369.push(@types.SchemaTypeNode::{body : lifted2355, metadata : @types.MetadataEnvelope::{doc : lifted2357, aliases : array2359, examples : array2362, deprecated : lifted2365, role : lifted2368}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2374 : Array[@types.SchemaTypeDef] = []; + for index2375 = 0; index2375 < (mbt_ffi_load32((iter_base) + 40)); index2375 = index2375 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2375 * 24) + + let result2371 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2373 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2372 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2372) + } + _ => panic() + } + + array2374.push(@types.SchemaTypeDef::{id : result2371, name : lifted2373, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array2405 : Array[@types.SchemaValueNode] = []; + for index2406 = 0; index2406 < (mbt_ffi_load32((iter_base) + 52)); index2406 = index2406 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2406 * 32) + + let lifted2404 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result2376 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result2376) + } + 13 => { + + let array2377 : Array[Int] = []; + for index2378 = 0; index2378 < (mbt_ffi_load32((iter_base) + 12)); index2378 = index2378 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2378 * 4) + + array2377.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array2377) + } + 14 => { + + let lifted2379 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2379}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array2380 : Array[Bool] = []; + for index2381 = 0; index2381 < (mbt_ffi_load32((iter_base) + 12)); index2381 = index2381 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2381 * 1) + + array2380.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array2380) + } + 17 => { + + let array2382 : Array[Int] = []; + for index2383 = 0; index2383 < (mbt_ffi_load32((iter_base) + 12)); index2383 = index2383 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2383 * 4) + + array2382.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array2382) + } + 18 => { + + let array2384 : Array[Int] = []; + for index2385 = 0; index2385 < (mbt_ffi_load32((iter_base) + 12)); index2385 = index2385 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2385 * 4) + + array2384.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array2384) + } + 19 => { + + let array2386 : Array[Int] = []; + for index2387 = 0; index2387 < (mbt_ffi_load32((iter_base) + 12)); index2387 = index2387 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2387 * 4) + + array2386.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array2386) + } + 20 => { + + let array2388 : Array[@types.MapEntry] = []; + for index2389 = 0; index2389 < (mbt_ffi_load32((iter_base) + 12)); index2389 = index2389 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2389 * 8) + + array2388.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array2388) + } + 21 => { + + let lifted2390 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted2390) + } + 22 => { + + let lifted2393 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted2391 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted2391) + } + 1 => { + + let lifted2392 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted2392) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted2393) + } + 23 => { + + let result2394 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2396 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2395 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2395) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2394, language : lifted2396}) + } + 24 => { + + let result2397 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2399 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2398 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2398) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2397, mime_type : lifted2399}) + } + 25 => { + + let result2400 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result2400) + } + 26 => { + + let result2401 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result2401) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result2402 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2402}) + } + 30 => { + + let result2403 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2403, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array2405.push(lifted2404) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + AgentInvocationResult::AgentMethod(AgentInvocationOutputParameters::{output : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2369, defs : array2374, root : mbt_ffi_load32((iter_base) + 44)}, value : @types.SchemaValueTree::{value_nodes : array2405, root : mbt_ffi_load32((iter_base) + 56)}}}) + } + 2 => { + + AgentInvocationResult::ManualUpdate + } + 3 => { + + let lifted2408 : String? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + let result2407 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + Option::Some(result2407) + } + _ => panic() + } + + AgentInvocationResult::LoadSnapshot(FallibleResultParameters::{error : lifted2408}) + } + 4 => { + + let result2409 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let result2410 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + AgentInvocationResult::SaveSnapshot(SaveSnapshotResultParameters::{snapshot : SnapshotData::{data : result2409, mime_type : result2410}}) + } + 5 => { + + let lifted2412 : String? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + let result2411 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + Option::Some(result2411) + } + _ => panic() + } + + AgentInvocationResult::ProcessOplogEntries(FallibleResultParameters::{error : lifted2412}) + } + _ => panic() + } + + let lifted2415 : String? = match mbt_ffi_load8_u((iter_base) + 60) { + 0 => Option::None + 1 => { + + let result2414 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + Option::Some(result2414) + } + _ => panic() + } + + PublicOplogEntry::AgentInvocationFinished(AgentInvocationFinishedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, result : lifted2413, method_name : lifted2415, consumed_fuel : mbt_ffi_load64((iter_base) + 72), component_revision : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()}) + } + 6 => { + + PublicOplogEntry::Suspend(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 7 => { + + let result2416 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let lifted2420 : RetryPolicyState? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let array2418 : Array[StateNode] = []; + for index2419 = 0; index2419 < (mbt_ffi_load32((iter_base) + 52)); index2419 = index2419 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2419 * 16) + + let lifted2417 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + StateNode::Counter((mbt_ffi_load32((iter_base) + 4)).reinterpret_as_uint()) + } + 1 => { + + StateNode::Terminal + } + 2 => { + + StateNode::Wrapper(mbt_ffi_load32((iter_base) + 4)) + } + 3 => { + + StateNode::CountBox(CountBoxState::{attempts : (mbt_ffi_load32((iter_base) + 4)).reinterpret_as_uint(), inner : mbt_ffi_load32((iter_base) + 8)}) + } + 4 => { + + StateNode::AndThen(AndThenState::{left : mbt_ffi_load32((iter_base) + 4), right : mbt_ffi_load32((iter_base) + 8), on_right : (mbt_ffi_load8_u((iter_base) + 12) != 0)}) + } + 5 => { + + StateNode::Pair(PairState::{left : mbt_ffi_load32((iter_base) + 4), right : mbt_ffi_load32((iter_base) + 8)}) + } + _ => panic() + } + + array2418.push(lifted2417) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + Option::Some(RetryPolicyState::{nodes : array2418}) + } + _ => panic() + } + + PublicOplogEntry::Error(ErrorParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, error : result2416, retry_from : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), inside_atomic_region : (mbt_ffi_load8_u((iter_base) + 40) != 0), retry_policy_state : lifted2420}) + } + 8 => { + + PublicOplogEntry::NoOp(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 9 => { + + PublicOplogEntry::Jump(JumpParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, jump : OplogRegion::{start : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), end : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}) + } + 10 => { + + PublicOplogEntry::Interrupted(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 11 => { + + PublicOplogEntry::Exited(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 12 => { + + PublicOplogEntry::BeginAtomicRegion(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 13 => { + + PublicOplogEntry::EndAtomicRegion(EndAtomicRegionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 14 => { + + let lifted2933 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + let result2421 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let array2618 : Array[@types.SchemaTypeNode] = []; + for index2619 = 0; index2619 < (mbt_ffi_load32((iter_base) + 44)); index2619 = index2619 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 40)) + (index2619 * 144) + + let lifted2604 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted2428 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2423 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2422 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2422) + } + _ => panic() + } + + let lifted2425 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2424 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2424) + } + _ => panic() + } + + let lifted2427 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2426 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2426) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2423, max : lifted2425, unit : lifted2427}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted2428) + } + 3 => { + + let lifted2435 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2430 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2429 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2429) + } + _ => panic() + } + + let lifted2432 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2431 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2431) + } + _ => panic() + } + + let lifted2434 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2433 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2433) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2430, max : lifted2432, unit : lifted2434}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted2435) + } + 4 => { + + let lifted2442 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2437 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2436 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2436) + } + _ => panic() + } + + let lifted2439 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2438 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2438) + } + _ => panic() + } + + let lifted2441 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2440 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2440) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2437, max : lifted2439, unit : lifted2441}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted2442) + } + 5 => { + + let lifted2449 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2444 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2443 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2443) + } + _ => panic() + } + + let lifted2446 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2445 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2445) + } + _ => panic() + } + + let lifted2448 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2447 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2447) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2444, max : lifted2446, unit : lifted2448}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted2449) + } + 6 => { + + let lifted2456 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2451 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2450 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2450) + } + _ => panic() + } + + let lifted2453 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2452 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2452) + } + _ => panic() + } + + let lifted2455 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2454 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2454) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2451, max : lifted2453, unit : lifted2455}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted2456) + } + 7 => { + + let lifted2463 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2458 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2457 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2457) + } + _ => panic() + } + + let lifted2460 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2459 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2459) + } + _ => panic() + } + + let lifted2462 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2461 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2461) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2458, max : lifted2460, unit : lifted2462}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2463) + } + 8 => { + + let lifted2470 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2465 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2464 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2464) + } + _ => panic() + } + + let lifted2467 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2466 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2466) + } + _ => panic() + } + + let lifted2469 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2468 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2468) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2465, max : lifted2467, unit : lifted2469}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2470) + } + 9 => { + + let lifted2477 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2472 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2471 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2471) + } + _ => panic() + } + + let lifted2474 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2473 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2473) + } + _ => panic() + } + + let lifted2476 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2475 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2475) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2472, max : lifted2474, unit : lifted2476}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2477) + } + 10 => { + + let lifted2484 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2479 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2478 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2478) + } + _ => panic() + } + + let lifted2481 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2480 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2480) + } + _ => panic() + } + + let lifted2483 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2482 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2482) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2479, max : lifted2481, unit : lifted2483}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted2484) + } + 11 => { + + let lifted2491 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2486 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2485 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2485) + } + _ => panic() + } + + let lifted2488 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2487 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2487) + } + _ => panic() + } + + let lifted2490 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2489 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2489) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2486, max : lifted2488, unit : lifted2490}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted2491) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array2506 : Array[@types.NamedFieldType] = []; + for index2507 = 0; index2507 < (mbt_ffi_load32((iter_base) + 12)); index2507 = index2507 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2507 * 68) + + let result2492 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2494 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2493 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2493) + } + _ => panic() + } + + let array2496 : Array[String] = []; + for index2497 = 0; index2497 < (mbt_ffi_load32((iter_base) + 28)); index2497 = index2497 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2497 * 8) + + let result2495 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2496.push(result2495) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array2499 : Array[String] = []; + for index2500 = 0; index2500 < (mbt_ffi_load32((iter_base) + 36)); index2500 = index2500 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2500 * 8) + + let result2498 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2499.push(result2498) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted2502 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result2501 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result2501) + } + _ => panic() + } + + let lifted2505 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted2504 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2503 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result2503) + } + _ => panic() + } + + Option::Some(lifted2504) + } + _ => panic() + } + + array2506.push(@types.NamedFieldType::{name : result2492, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2494, aliases : array2496, examples : array2499, deprecated : lifted2502, role : lifted2505}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array2506) + } + 15 => { + + let array2523 : Array[@types.VariantCaseType] = []; + for index2524 = 0; index2524 < (mbt_ffi_load32((iter_base) + 12)); index2524 = index2524 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2524 * 72) + + let result2508 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2509 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2511 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2510 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2510) + } + _ => panic() + } + + let array2513 : Array[String] = []; + for index2514 = 0; index2514 < (mbt_ffi_load32((iter_base) + 32)); index2514 = index2514 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2514 * 8) + + let result2512 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2513.push(result2512) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2516 : Array[String] = []; + for index2517 = 0; index2517 < (mbt_ffi_load32((iter_base) + 40)); index2517 = index2517 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2517 * 8) + + let result2515 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2516.push(result2515) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted2519 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2518 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2518) + } + _ => panic() + } + + let lifted2522 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted2521 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2520 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result2520) + } + _ => panic() + } + + Option::Some(lifted2521) + } + _ => panic() + } + + array2523.push(@types.VariantCaseType::{name : result2508, payload : lifted2509, metadata : @types.MetadataEnvelope::{doc : lifted2511, aliases : array2513, examples : array2516, deprecated : lifted2519, role : lifted2522}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array2523) + } + 16 => { + + let array2526 : Array[String] = []; + for index2527 = 0; index2527 < (mbt_ffi_load32((iter_base) + 12)); index2527 = index2527 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2527 * 8) + + let result2525 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2526.push(result2525) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array2526) + } + 17 => { + + let array2529 : Array[String] = []; + for index2530 = 0; index2530 < (mbt_ffi_load32((iter_base) + 12)); index2530 = index2530 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2530 * 8) + + let result2528 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2529.push(result2528) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array2529) + } + 18 => { + + let array2531 : Array[Int] = []; + for index2532 = 0; index2532 < (mbt_ffi_load32((iter_base) + 12)); index2532 = index2532 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2532 * 4) + + array2531.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array2531) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted2533 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2534 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2533, err : lifted2534}) + } + 24 => { + + let lifted2538 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2536 : Array[String] = []; + for index2537 = 0; index2537 < (mbt_ffi_load32((iter_base) + 16)); index2537 = index2537 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2537 * 8) + + let result2535 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2536.push(result2535) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2536) + } + _ => panic() + } + + let lifted2539 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2540 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2542 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2541 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2541) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2538, min_length : lifted2539, max_length : lifted2540, regex : lifted2542}) + } + 25 => { + + let lifted2546 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2544 : Array[String] = []; + for index2545 = 0; index2545 < (mbt_ffi_load32((iter_base) + 16)); index2545 = index2545 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2545 * 8) + + let result2543 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2544.push(result2543) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2544) + } + _ => panic() + } + + let lifted2547 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2548 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2546, min_bytes : lifted2547, max_bytes : lifted2548}) + } + 26 => { + + let lifted2552 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array2550 : Array[String] = []; + for index2551 = 0; index2551 < (mbt_ffi_load32((iter_base) + 20)); index2551 = index2551 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2551 * 8) + + let result2549 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2550.push(result2549) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array2550) + } + _ => panic() + } + + let lifted2556 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array2554 : Array[String] = []; + for index2555 = 0; index2555 < (mbt_ffi_load32((iter_base) + 32)); index2555 = index2555 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2555 * 8) + + let result2553 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2554.push(result2553) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2554) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2552, allowed_extensions : lifted2556}) + } + 27 => { + + let lifted2560 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2558 : Array[String] = []; + for index2559 = 0; index2559 < (mbt_ffi_load32((iter_base) + 16)); index2559 = index2559 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2559 * 8) + + let result2557 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2558.push(result2557) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2558) + } + _ => panic() + } + + let lifted2564 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2562 : Array[String] = []; + for index2563 = 0; index2563 < (mbt_ffi_load32((iter_base) + 28)); index2563 = index2563 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2563 * 8) + + let result2561 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2562.push(result2561) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2562) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2560, allowed_hosts : lifted2564}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2565 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2567 : Array[String] = []; + for index2568 = 0; index2568 < (mbt_ffi_load32((iter_base) + 20)); index2568 = index2568 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2568 * 8) + + let result2566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2567.push(result2566) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2570 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2569 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2569}) + } + _ => panic() + } + + let lifted2572 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result2571 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2571}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2565, allowed_suffixes : array2567, min : lifted2570, max : lifted2572}) + } + 31 => { + + let array2596 : Array[@types.UnionBranch] = []; + for index2597 = 0; index2597 < (mbt_ffi_load32((iter_base) + 12)); index2597 = index2597 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2597 * 92) + + let result2573 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2582 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2574) + } + 1 => { + + let result2575 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result2575) + } + 2 => { + + let result2576 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result2576) + } + 3 => { + + let result2577 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result2577) + } + 4 => { + + let result2578 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted2580 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2579 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result2579) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2578, literal : lifted2580}) + } + 5 => { + + let result2581 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result2581) + } + _ => panic() + } + + let lifted2584 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2583 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2583) + } + _ => panic() + } + + let array2586 : Array[String] = []; + for index2587 = 0; index2587 < (mbt_ffi_load32((iter_base) + 52)); index2587 = index2587 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2587 * 8) + + let result2585 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2586.push(result2585) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2589 : Array[String] = []; + for index2590 = 0; index2590 < (mbt_ffi_load32((iter_base) + 60)); index2590 = index2590 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2590 * 8) + + let result2588 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2589.push(result2588) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted2592 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2591 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2591) + } + _ => panic() + } + + let lifted2595 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted2594 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2593 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result2593) + } + _ => panic() + } + + Option::Some(lifted2594) + } + _ => panic() + } + + array2596.push(@types.UnionBranch::{tag : result2573, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2582, metadata : @types.MetadataEnvelope::{doc : lifted2584, aliases : array2586, examples : array2589, deprecated : lifted2592, role : lifted2595}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2596}) + } + 32 => { + + let lifted2599 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2598 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2598) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2599}) + } + 33 => { + + let lifted2601 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2600 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2600) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2601}) + } + 34 => { + + let lifted2602 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted2602) + } + 35 => { + + let lifted2603 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted2603) + } + _ => panic() + } + + let lifted2606 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result2605 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result2605) + } + _ => panic() + } + + let array2608 : Array[String] = []; + for index2609 = 0; index2609 < (mbt_ffi_load32((iter_base) + 104)); index2609 = index2609 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2609 * 8) + + let result2607 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2608.push(result2607) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array2611 : Array[String] = []; + for index2612 = 0; index2612 < (mbt_ffi_load32((iter_base) + 112)); index2612 = index2612 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2612 * 8) + + let result2610 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2611.push(result2610) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted2614 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result2613 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result2613) + } + _ => panic() + } + + let lifted2617 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted2616 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2615 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result2615) + } + _ => panic() + } + + Option::Some(lifted2616) + } + _ => panic() + } + + array2618.push(@types.SchemaTypeNode::{body : lifted2604, metadata : @types.MetadataEnvelope::{doc : lifted2606, aliases : array2608, examples : array2611, deprecated : lifted2614, role : lifted2617}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 40)) + + let array2623 : Array[@types.SchemaTypeDef] = []; + for index2624 = 0; index2624 < (mbt_ffi_load32((iter_base) + 52)); index2624 = index2624 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2624 * 24) + + let result2620 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2622 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2621 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2621) + } + _ => panic() + } + + array2623.push(@types.SchemaTypeDef::{id : result2620, name : lifted2622, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2654 : Array[@types.SchemaValueNode] = []; + for index2655 = 0; index2655 < (mbt_ffi_load32((iter_base) + 64)); index2655 = index2655 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2655 * 32) + + let lifted2653 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result2625 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result2625) + } + 13 => { + + let array2626 : Array[Int] = []; + for index2627 = 0; index2627 < (mbt_ffi_load32((iter_base) + 12)); index2627 = index2627 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2627 * 4) + + array2626.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array2626) + } + 14 => { + + let lifted2628 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2628}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array2629 : Array[Bool] = []; + for index2630 = 0; index2630 < (mbt_ffi_load32((iter_base) + 12)); index2630 = index2630 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2630 * 1) + + array2629.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array2629) + } + 17 => { + + let array2631 : Array[Int] = []; + for index2632 = 0; index2632 < (mbt_ffi_load32((iter_base) + 12)); index2632 = index2632 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2632 * 4) + + array2631.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array2631) + } + 18 => { + + let array2633 : Array[Int] = []; + for index2634 = 0; index2634 < (mbt_ffi_load32((iter_base) + 12)); index2634 = index2634 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2634 * 4) + + array2633.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array2633) + } + 19 => { + + let array2635 : Array[Int] = []; + for index2636 = 0; index2636 < (mbt_ffi_load32((iter_base) + 12)); index2636 = index2636 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2636 * 4) + + array2635.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array2635) + } + 20 => { + + let array2637 : Array[@types.MapEntry] = []; + for index2638 = 0; index2638 < (mbt_ffi_load32((iter_base) + 12)); index2638 = index2638 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2638 * 8) + + array2637.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array2637) + } + 21 => { + + let lifted2639 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted2639) + } + 22 => { + + let lifted2642 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted2640 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted2640) + } + 1 => { + + let lifted2641 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted2641) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted2642) + } + 23 => { + + let result2643 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2645 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2644 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2644) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2643, language : lifted2645}) + } + 24 => { + + let result2646 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2648 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2647 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2647) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2646, mime_type : lifted2648}) + } + 25 => { + + let result2649 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result2649) + } + 26 => { + + let result2650 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result2650) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result2651 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2651}) + } + 30 => { + + let result2652 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2652, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array2654.push(lifted2653) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + let result2656 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 72), mbt_ffi_load32((iter_base) + 76)) + + let array2658 : Array[String] = []; + for index2659 = 0; index2659 < (mbt_ffi_load32((iter_base) + 84)); index2659 = index2659 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 80)) + (index2659 * 8) + + let result2657 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2658.push(result2657) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 80)) + + let array2673 : Array[Array[SpanData]] = []; + for index2674 = 0; index2674 < (mbt_ffi_load32((iter_base) + 92)); index2674 = index2674 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index2674 * 8) + + let array2671 : Array[SpanData] = []; + for index2672 = 0; index2672 < (mbt_ffi_load32((iter_base) + 4)); index2672 = index2672 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index2672 * 80) + + let lifted2670 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2660 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2662 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2661 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2661) + } + _ => panic() + } + + let lifted2663 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array2667 : Array[@context.Attribute] = []; + for index2668 = 0; index2668 < (mbt_ffi_load32((iter_base) + 68)); index2668 = index2668 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2668 * 20) + + let result2664 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2666 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result2665 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result2665) + } + _ => panic() + } + + array2667.push(@context.Attribute::{key : result2664, value : lifted2666}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result2660, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted2662, linked_context : lifted2663, attributes : array2667, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result2669 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result2669}) + } + _ => panic() + } + + array2671.push(lifted2670) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array2673.push(array2671) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + AgentInvocation::AgentInitialization(AgentInitializationParameters::{idempotency_key : result2421, constructor_parameters : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2618, defs : array2623, root : mbt_ffi_load32((iter_base) + 56)}, value : @types.SchemaValueTree::{value_nodes : array2654, root : mbt_ffi_load32((iter_base) + 68)}}, trace_id : result2656, trace_states : array2658, invocation_context : array2673}) + } + 1 => { + + let result2675 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2676 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let array2873 : Array[@types.SchemaTypeNode] = []; + for index2874 = 0; index2874 < (mbt_ffi_load32((iter_base) + 52)); index2874 = index2874 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2874 * 144) + + let lifted2859 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted2683 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2678 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2677 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2677) + } + _ => panic() + } + + let lifted2680 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2679 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2679) + } + _ => panic() + } + + let lifted2682 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2681 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2681) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2678, max : lifted2680, unit : lifted2682}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted2683) + } + 3 => { + + let lifted2690 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2685 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2684 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2684) + } + _ => panic() + } + + let lifted2687 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2686 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2686) + } + _ => panic() + } + + let lifted2689 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2688 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2688) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2685, max : lifted2687, unit : lifted2689}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted2690) + } + 4 => { + + let lifted2697 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2692 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2691 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2691) + } + _ => panic() + } + + let lifted2694 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2693 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2693) + } + _ => panic() + } + + let lifted2696 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2695 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2695) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2692, max : lifted2694, unit : lifted2696}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted2697) + } + 5 => { + + let lifted2704 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2699 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2698 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2698) + } + _ => panic() + } + + let lifted2701 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2700 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2700) + } + _ => panic() + } + + let lifted2703 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2702 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2702) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2699, max : lifted2701, unit : lifted2703}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted2704) + } + 6 => { + + let lifted2711 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2706 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2705 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2705) + } + _ => panic() + } + + let lifted2708 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2707 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2707) + } + _ => panic() + } + + let lifted2710 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2709 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2709) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2706, max : lifted2708, unit : lifted2710}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted2711) + } + 7 => { + + let lifted2718 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2713 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2712 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2712) + } + _ => panic() + } + + let lifted2715 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2714 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2714) + } + _ => panic() + } + + let lifted2717 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2716 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2716) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2713, max : lifted2715, unit : lifted2717}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2718) + } + 8 => { + + let lifted2725 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2720 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2719 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2719) + } + _ => panic() + } + + let lifted2722 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2721 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2721) + } + _ => panic() + } + + let lifted2724 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2723 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2723) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2720, max : lifted2722, unit : lifted2724}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2725) + } + 9 => { + + let lifted2732 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2727 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2726 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2726) + } + _ => panic() + } + + let lifted2729 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2728 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2728) + } + _ => panic() + } + + let lifted2731 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2730 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2730) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2727, max : lifted2729, unit : lifted2731}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2732) + } + 10 => { + + let lifted2739 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2734 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2733 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2733) + } + _ => panic() + } + + let lifted2736 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2735 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2735) + } + _ => panic() + } + + let lifted2738 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2737 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2737) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2734, max : lifted2736, unit : lifted2738}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted2739) + } + 11 => { + + let lifted2746 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2741 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2740 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2740) + } + _ => panic() + } + + let lifted2743 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2742 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2742) + } + _ => panic() + } + + let lifted2745 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2744 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2744) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2741, max : lifted2743, unit : lifted2745}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted2746) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array2761 : Array[@types.NamedFieldType] = []; + for index2762 = 0; index2762 < (mbt_ffi_load32((iter_base) + 12)); index2762 = index2762 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2762 * 68) + + let result2747 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2749 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2748 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2748) + } + _ => panic() + } + + let array2751 : Array[String] = []; + for index2752 = 0; index2752 < (mbt_ffi_load32((iter_base) + 28)); index2752 = index2752 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2752 * 8) + + let result2750 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2751.push(result2750) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array2754 : Array[String] = []; + for index2755 = 0; index2755 < (mbt_ffi_load32((iter_base) + 36)); index2755 = index2755 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2755 * 8) + + let result2753 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2754.push(result2753) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted2757 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result2756 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result2756) + } + _ => panic() + } + + let lifted2760 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted2759 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2758 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result2758) + } + _ => panic() + } + + Option::Some(lifted2759) + } + _ => panic() + } + + array2761.push(@types.NamedFieldType::{name : result2747, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2749, aliases : array2751, examples : array2754, deprecated : lifted2757, role : lifted2760}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array2761) + } + 15 => { + + let array2778 : Array[@types.VariantCaseType] = []; + for index2779 = 0; index2779 < (mbt_ffi_load32((iter_base) + 12)); index2779 = index2779 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2779 * 72) + + let result2763 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2764 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2766 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2765 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2765) + } + _ => panic() + } + + let array2768 : Array[String] = []; + for index2769 = 0; index2769 < (mbt_ffi_load32((iter_base) + 32)); index2769 = index2769 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2769 * 8) + + let result2767 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2768.push(result2767) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2771 : Array[String] = []; + for index2772 = 0; index2772 < (mbt_ffi_load32((iter_base) + 40)); index2772 = index2772 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2772 * 8) + + let result2770 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2771.push(result2770) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted2774 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2773 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2773) + } + _ => panic() + } + + let lifted2777 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted2776 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2775 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result2775) + } + _ => panic() + } + + Option::Some(lifted2776) + } + _ => panic() + } + + array2778.push(@types.VariantCaseType::{name : result2763, payload : lifted2764, metadata : @types.MetadataEnvelope::{doc : lifted2766, aliases : array2768, examples : array2771, deprecated : lifted2774, role : lifted2777}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array2778) + } + 16 => { + + let array2781 : Array[String] = []; + for index2782 = 0; index2782 < (mbt_ffi_load32((iter_base) + 12)); index2782 = index2782 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2782 * 8) + + let result2780 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2781.push(result2780) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array2781) + } + 17 => { + + let array2784 : Array[String] = []; + for index2785 = 0; index2785 < (mbt_ffi_load32((iter_base) + 12)); index2785 = index2785 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2785 * 8) + + let result2783 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2784.push(result2783) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array2784) + } + 18 => { + + let array2786 : Array[Int] = []; + for index2787 = 0; index2787 < (mbt_ffi_load32((iter_base) + 12)); index2787 = index2787 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2787 * 4) + + array2786.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array2786) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted2788 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2789 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2788, err : lifted2789}) + } + 24 => { + + let lifted2793 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2791 : Array[String] = []; + for index2792 = 0; index2792 < (mbt_ffi_load32((iter_base) + 16)); index2792 = index2792 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2792 * 8) + + let result2790 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2791.push(result2790) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2791) + } + _ => panic() + } + + let lifted2794 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2795 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2797 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2796 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2796) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2793, min_length : lifted2794, max_length : lifted2795, regex : lifted2797}) + } + 25 => { + + let lifted2801 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2799 : Array[String] = []; + for index2800 = 0; index2800 < (mbt_ffi_load32((iter_base) + 16)); index2800 = index2800 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2800 * 8) + + let result2798 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2799.push(result2798) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2799) + } + _ => panic() + } + + let lifted2802 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2803 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2801, min_bytes : lifted2802, max_bytes : lifted2803}) + } + 26 => { + + let lifted2807 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array2805 : Array[String] = []; + for index2806 = 0; index2806 < (mbt_ffi_load32((iter_base) + 20)); index2806 = index2806 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2806 * 8) + + let result2804 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2805.push(result2804) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array2805) + } + _ => panic() + } + + let lifted2811 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array2809 : Array[String] = []; + for index2810 = 0; index2810 < (mbt_ffi_load32((iter_base) + 32)); index2810 = index2810 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2810 * 8) + + let result2808 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2809.push(result2808) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2809) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2807, allowed_extensions : lifted2811}) + } + 27 => { + + let lifted2815 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2813 : Array[String] = []; + for index2814 = 0; index2814 < (mbt_ffi_load32((iter_base) + 16)); index2814 = index2814 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2814 * 8) + + let result2812 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2813.push(result2812) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2813) + } + _ => panic() + } + + let lifted2819 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2817 : Array[String] = []; + for index2818 = 0; index2818 < (mbt_ffi_load32((iter_base) + 28)); index2818 = index2818 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2818 * 8) + + let result2816 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2817.push(result2816) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2817) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2815, allowed_hosts : lifted2819}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2820 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2822 : Array[String] = []; + for index2823 = 0; index2823 < (mbt_ffi_load32((iter_base) + 20)); index2823 = index2823 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2823 * 8) + + let result2821 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2822.push(result2821) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2825 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2824 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2824}) + } + _ => panic() + } + + let lifted2827 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result2826 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2826}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2820, allowed_suffixes : array2822, min : lifted2825, max : lifted2827}) + } + 31 => { + + let array2851 : Array[@types.UnionBranch] = []; + for index2852 = 0; index2852 < (mbt_ffi_load32((iter_base) + 12)); index2852 = index2852 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2852 * 92) + + let result2828 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2837 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2829 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2829) + } + 1 => { + + let result2830 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result2830) + } + 2 => { + + let result2831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result2831) + } + 3 => { + + let result2832 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result2832) + } + 4 => { + + let result2833 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted2835 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2834 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result2834) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2833, literal : lifted2835}) + } + 5 => { + + let result2836 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result2836) + } + _ => panic() + } + + let lifted2839 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2838 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2838) + } + _ => panic() + } + + let array2841 : Array[String] = []; + for index2842 = 0; index2842 < (mbt_ffi_load32((iter_base) + 52)); index2842 = index2842 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2842 * 8) + + let result2840 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2841.push(result2840) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2844 : Array[String] = []; + for index2845 = 0; index2845 < (mbt_ffi_load32((iter_base) + 60)); index2845 = index2845 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2845 * 8) + + let result2843 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2844.push(result2843) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted2847 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2846 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2846) + } + _ => panic() + } + + let lifted2850 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted2849 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2848 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result2848) + } + _ => panic() + } + + Option::Some(lifted2849) + } + _ => panic() + } + + array2851.push(@types.UnionBranch::{tag : result2828, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2837, metadata : @types.MetadataEnvelope::{doc : lifted2839, aliases : array2841, examples : array2844, deprecated : lifted2847, role : lifted2850}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2851}) + } + 32 => { + + let lifted2854 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2853 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2853) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2854}) + } + 33 => { + + let lifted2856 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2855 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2855) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2856}) + } + 34 => { + + let lifted2857 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted2857) + } + 35 => { + + let lifted2858 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted2858) + } + _ => panic() + } + + let lifted2861 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result2860 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result2860) + } + _ => panic() + } + + let array2863 : Array[String] = []; + for index2864 = 0; index2864 < (mbt_ffi_load32((iter_base) + 104)); index2864 = index2864 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2864 * 8) + + let result2862 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2863.push(result2862) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array2866 : Array[String] = []; + for index2867 = 0; index2867 < (mbt_ffi_load32((iter_base) + 112)); index2867 = index2867 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2867 * 8) + + let result2865 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2866.push(result2865) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted2869 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result2868 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result2868) + } + _ => panic() + } + + let lifted2872 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted2871 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2870 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result2870) + } + _ => panic() + } + + Option::Some(lifted2871) + } + _ => panic() + } + + array2873.push(@types.SchemaTypeNode::{body : lifted2859, metadata : @types.MetadataEnvelope::{doc : lifted2861, aliases : array2863, examples : array2866, deprecated : lifted2869, role : lifted2872}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2878 : Array[@types.SchemaTypeDef] = []; + for index2879 = 0; index2879 < (mbt_ffi_load32((iter_base) + 60)); index2879 = index2879 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2879 * 24) + + let result2875 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2877 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2876 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2876) + } + _ => panic() + } + + array2878.push(@types.SchemaTypeDef::{id : result2875, name : lifted2877, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let array2909 : Array[@types.SchemaValueNode] = []; + for index2910 = 0; index2910 < (mbt_ffi_load32((iter_base) + 72)); index2910 = index2910 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index2910 * 32) + + let lifted2908 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result2880 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result2880) + } + 13 => { + + let array2881 : Array[Int] = []; + for index2882 = 0; index2882 < (mbt_ffi_load32((iter_base) + 12)); index2882 = index2882 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2882 * 4) + + array2881.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array2881) + } + 14 => { + + let lifted2883 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2883}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array2884 : Array[Bool] = []; + for index2885 = 0; index2885 < (mbt_ffi_load32((iter_base) + 12)); index2885 = index2885 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2885 * 1) + + array2884.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array2884) + } + 17 => { + + let array2886 : Array[Int] = []; + for index2887 = 0; index2887 < (mbt_ffi_load32((iter_base) + 12)); index2887 = index2887 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2887 * 4) + + array2886.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array2886) + } + 18 => { + + let array2888 : Array[Int] = []; + for index2889 = 0; index2889 < (mbt_ffi_load32((iter_base) + 12)); index2889 = index2889 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2889 * 4) + + array2888.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array2888) + } + 19 => { + + let array2890 : Array[Int] = []; + for index2891 = 0; index2891 < (mbt_ffi_load32((iter_base) + 12)); index2891 = index2891 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2891 * 4) + + array2890.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array2890) + } + 20 => { + + let array2892 : Array[@types.MapEntry] = []; + for index2893 = 0; index2893 < (mbt_ffi_load32((iter_base) + 12)); index2893 = index2893 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2893 * 8) + + array2892.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array2892) + } + 21 => { + + let lifted2894 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted2894) + } + 22 => { + + let lifted2897 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted2895 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted2895) + } + 1 => { + + let lifted2896 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted2896) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted2897) + } + 23 => { + + let result2898 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2900 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2899 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2899) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2898, language : lifted2900}) + } + 24 => { + + let result2901 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2903 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2902 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2902) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2901, mime_type : lifted2903}) + } + 25 => { + + let result2904 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result2904) + } + 26 => { + + let result2905 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result2905) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result2906 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2906}) + } + 30 => { + + let result2907 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2907, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array2909.push(lifted2908) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) + + let result2911 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 80), mbt_ffi_load32((iter_base) + 84)) + + let array2913 : Array[String] = []; + for index2914 = 0; index2914 < (mbt_ffi_load32((iter_base) + 92)); index2914 = index2914 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index2914 * 8) + + let result2912 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2913.push(result2912) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + let array2928 : Array[Array[SpanData]] = []; + for index2929 = 0; index2929 < (mbt_ffi_load32((iter_base) + 100)); index2929 = index2929 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index2929 * 8) + + let array2926 : Array[SpanData] = []; + for index2927 = 0; index2927 < (mbt_ffi_load32((iter_base) + 4)); index2927 = index2927 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index2927 * 80) + + let lifted2925 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2915 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2917 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2916 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2916) + } + _ => panic() + } + + let lifted2918 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array2922 : Array[@context.Attribute] = []; + for index2923 = 0; index2923 < (mbt_ffi_load32((iter_base) + 68)); index2923 = index2923 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2923 * 20) + + let result2919 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2921 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result2920 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result2920) + } + _ => panic() + } + + array2922.push(@context.Attribute::{key : result2919, value : lifted2921}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result2915, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted2917, linked_context : lifted2918, attributes : array2922, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result2924 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result2924}) + } + _ => panic() + } + + array2926.push(lifted2925) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array2928.push(array2926) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) + + AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{idempotency_key : result2675, method_name : result2676, function_input : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2873, defs : array2878, root : mbt_ffi_load32((iter_base) + 64)}, value : @types.SchemaValueTree::{value_nodes : array2909, root : mbt_ffi_load32((iter_base) + 76)}}, trace_id : result2911, trace_states : array2913, invocation_context : array2928}) + } + 2 => { + + AgentInvocation::SaveSnapshot + } + 3 => { + + let result2930 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2931 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{snapshot : SnapshotData::{data : result2930, mime_type : result2931}}) + } + 4 => { + + let result2932 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{idempotency_key : result2932}) + } + 5 => { + + AgentInvocation::ManualUpdate(ManualUpdateParameters::{target_revision : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + _ => panic() + } + + PublicOplogEntry::PendingAgentInvocation(PendingAgentInvocationParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, invocation : lifted2933}) + } + 15 => { + + let lifted2936 = match (mbt_ffi_load8_u((iter_base) + 32)) { + 0 => { + + UpdateDescription::AutoUpdate + } + 1 => { + + let result2934 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + let result2935 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + UpdateDescription::SnapshotBased(@host.Snapshot::{payload : result2934, mime_type : result2935}) + } + _ => panic() + } + + PublicOplogEntry::PendingUpdate(PendingUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), description : lifted2936}) + } + 16 => { + + let array2943 : Array[PluginInstallationDescription] = []; + for index2944 = 0; index2944 < (mbt_ffi_load32((iter_base) + 44)); index2944 = index2944 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 40)) + (index2944 * 48) + + let result2937 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + let result2938 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let array2941 : Array[(String, String)] = []; + for index2942 = 0; index2942 < (mbt_ffi_load32((iter_base) + 40)); index2942 = index2942 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2942 * 16) + + let result2939 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2940 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2941.push((result2939, result2940)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + array2943.push(PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 0)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 16), plugin_name : result2937, plugin_version : result2938, parameters : array2941}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 40)) + + PublicOplogEntry::SuccessfulUpdate(SuccessfulUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), new_component_size : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), new_active_plugins : array2943}) + } + 17 => { + + let lifted2946 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2945 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2945) + } + _ => panic() + } + + PublicOplogEntry::FailedUpdate(FailedUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), details : lifted2946}) + } + 18 => { + + PublicOplogEntry::GrowMemory(GrowMemoryParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, delta : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 19 => { + + PublicOplogEntry::FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, delta : mbt_ffi_load64((iter_base) + 24)}) + } + 20 => { + + let result2947 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2948 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + PublicOplogEntry::CreateResource(CreateResourceParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, id : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), name : result2947, owner : result2948}) + } + 21 => { + + let result2949 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2950 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + PublicOplogEntry::DropResource(DropResourceParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, id : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), name : result2949, owner : result2950}) + } + 22 => { + + let result2951 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let result2952 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + PublicOplogEntry::Log(LogParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, level : LogLevel::from(mbt_ffi_load8_u((iter_base) + 24)), context : result2951, message : result2952}) + } + 23 => { + + PublicOplogEntry::Restart(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 24 => { + + let result2953 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + let result2954 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) + + let array2957 : Array[(String, String)] = []; + for index2958 = 0; index2958 < (mbt_ffi_load32((iter_base) + 64)); index2958 = index2958 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2958 * 16) + + let result2955 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2956 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2957.push((result2955, result2956)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + PublicOplogEntry::ActivatePlugin(ActivatePluginParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 40), plugin_name : result2953, plugin_version : result2954, parameters : array2957}}) + } + 25 => { + + let result2959 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + let result2960 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) + + let array2963 : Array[(String, String)] = []; + for index2964 = 0; index2964 < (mbt_ffi_load32((iter_base) + 64)); index2964 = index2964 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2964 * 16) + + let result2961 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2962 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2963.push((result2961, result2962)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + PublicOplogEntry::DeactivatePlugin(DeactivatePluginParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 40), plugin_name : result2959, plugin_version : result2960, parameters : array2963}}) + } + 26 => { + + PublicOplogEntry::Revert(RevertParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, dropped_region : OplogRegion::{start : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), end : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}) + } + 27 => { + + let result2965 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::CancelPendingInvocation(CancelPendingInvocationParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, idempotency_key : result2965}) + } + 28 => { + + let result2966 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let lifted2968 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2967 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2967) + } + _ => panic() + } + + let lifted2970 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2969 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2969) + } + _ => panic() + } + + let array2974 : Array[@context.Attribute] = []; + for index2975 = 0; index2975 < (mbt_ffi_load32((iter_base) + 60)); index2975 = index2975 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2975 * 20) + + let result2971 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2973 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result2972 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result2972) + } + _ => panic() + } + + array2974.push(@context.Attribute::{key : result2971, value : lifted2973}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + PublicOplogEntry::StartSpan(StartSpanParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, span_id : result2966, parent : lifted2968, linked_context_id : lifted2970, attributes : array2974}) + } + 29 => { + + let result2976 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::FinishSpan(FinishSpanParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, span_id : result2976}) + } + 30 => { + + let result2977 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let result2978 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let lifted2980 = match (mbt_ffi_load8_u((iter_base) + 40)) { + 0 => { + + let result2979 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + @context.AttributeValue::String(result2979) + } + _ => panic() + } + + PublicOplogEntry::SetSpanAttribute(SetSpanAttributeParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, span_id : result2977, key : result2978, value : lifted2980}) + } + 31 => { + + let result2981 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::BeginRemoteTransaction(BeginRemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, transaction_id : result2981}) + } + 32 => { + + PublicOplogEntry::PreCommitRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 33 => { + + PublicOplogEntry::PreRollbackRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 34 => { + + PublicOplogEntry::CommittedRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 35 => { + + PublicOplogEntry::RolledBackRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 36 => { + + let result2982 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let result2983 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + PublicOplogEntry::Snapshot(SnapshotParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, data : SnapshotData::{data : result2982, mime_type : result2983}}) + } + 37 => { + + let result2984 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + let result2985 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) + + let array2988 : Array[(String, String)] = []; + for index2989 = 0; index2989 < (mbt_ffi_load32((iter_base) + 64)); index2989 = index2989 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2989 * 16) + + let result2986 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2987 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2988.push((result2986, result2987)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + let result2990 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 88), mbt_ffi_load32((iter_base) + 92)) + + PublicOplogEntry::OplogProcessorCheckpoint(OplogProcessorCheckpointParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 40), plugin_name : result2984, plugin_version : result2985, parameters : array2988}, target_agent_id : @types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 72)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()}}, agent_id : result2990}, confirmed_up_to : (mbt_ffi_load64((iter_base) + 96)).reinterpret_as_uint64(), sending_up_to : (mbt_ffi_load64((iter_base) + 104)).reinterpret_as_uint64(), last_batch_start : (mbt_ffi_load64((iter_base) + 112)).reinterpret_as_uint64()}) + } + 38 => { + + let result2991 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let array3023 : Array[@retry.PredicateNode] = []; + for index3024 = 0; index3024 < (mbt_ffi_load32((iter_base) + 40)); index3024 = index3024 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index3024 * 32) + + let lifted3022 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2992 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2994 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2993 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2993) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropEq(@retry.PropertyComparison::{property_name : result2992, value : lifted2994}) + } + 1 => { + + let result2995 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2997 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2996 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2996) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{property_name : result2995, value : lifted2997}) + } + 2 => { + + let result2998 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3000 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2999 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2999) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGt(@retry.PropertyComparison::{property_name : result2998, value : lifted3000}) + } + 3 => { + + let result3001 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3003 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3002 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3002) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGte(@retry.PropertyComparison::{property_name : result3001, value : lifted3003}) + } + 4 => { + + let result3004 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3006 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3005 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3005) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLt(@retry.PropertyComparison::{property_name : result3004, value : lifted3006}) + } + 5 => { + + let result3007 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3009 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3008 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3008) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLte(@retry.PropertyComparison::{property_name : result3007, value : lifted3009}) + } + 6 => { + + let result3010 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateNode::PropExists(result3010) + } + 7 => { + + let result3011 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array3014 : Array[@retry.PredicateValue] = []; + for index3015 = 0; index3015 < (mbt_ffi_load32((iter_base) + 20)); index3015 = index3015 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index3015 * 16) + + let lifted3013 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result3012 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateValue::Text(result3012) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 8)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + _ => panic() + } + + array3014.push(lifted3013) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{property_name : result3011, values : array3014}) + } + 8 => { + + let result3016 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result3017 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{property_name : result3016, pattern : result3017}) + } + 9 => { + + let result3018 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result3019 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{property_name : result3018, pattern : result3019}) + } + 10 => { + + let result3020 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result3021 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropContains(@retry.PropertyPattern::{property_name : result3020, pattern : result3021}) + } + 11 => { + + @retry.PredicateNode::PredAnd((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { + + @retry.PredicateNode::PredOr((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { + + @retry.PredicateNode::PredNot(mbt_ffi_load32((iter_base) + 8)) + } + 14 => { + + @retry.PredicateNode::PredTrue + } + 15 => { + + @retry.PredicateNode::PredFalse + } + _ => panic() + } + + array3023.push(lifted3022) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array3059 : Array[@retry.PolicyNode] = []; + for index3060 = 0; index3060 < (mbt_ffi_load32((iter_base) + 48)); index3060 = index3060 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index3060 * 32) + + let lifted3058 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @retry.PolicyNode::Periodic((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 1 => { + + @retry.PolicyNode::Exponential(@retry.ExponentialConfig::{base_delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), factor : mbt_ffi_loadf64((iter_base) + 16)}) + } + 2 => { + + @retry.PolicyNode::Fibonacci(@retry.FibonacciConfig::{first : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), second : (mbt_ffi_load64((iter_base) + 16)).reinterpret_as_uint64()}) + } + 3 => { + + @retry.PolicyNode::Immediate + } + 4 => { + + @retry.PolicyNode::Never + } + 5 => { + + @retry.PolicyNode::CountBox(@retry.CountBoxConfig::{max_retries : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), inner : mbt_ffi_load32((iter_base) + 12)}) + } + 6 => { + + @retry.PolicyNode::TimeBox(@retry.TimeBoxConfig::{limit : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 7 => { + + @retry.PolicyNode::ClampDelay(@retry.ClampConfig::{min_delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), max_delay : (mbt_ffi_load64((iter_base) + 16)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 24)}) + } + 8 => { + + @retry.PolicyNode::AddDelay(@retry.AddDelayConfig::{delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 9 => { + + @retry.PolicyNode::Jitter(@retry.JitterConfig::{factor : mbt_ffi_loadf64((iter_base) + 8), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 10 => { + + let array3056 : Array[@retry.PredicateNode] = []; + for index3057 = 0; index3057 < (mbt_ffi_load32((iter_base) + 12)); index3057 = index3057 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3057 * 32) + + let lifted3055 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result3025 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3027 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3026 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3026) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropEq(@retry.PropertyComparison::{property_name : result3025, value : lifted3027}) + } + 1 => { + + let result3028 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3030 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3029 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3029) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{property_name : result3028, value : lifted3030}) + } + 2 => { + + let result3031 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3033 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3032 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3032) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGt(@retry.PropertyComparison::{property_name : result3031, value : lifted3033}) + } + 3 => { + + let result3034 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3036 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3035 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3035) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGte(@retry.PropertyComparison::{property_name : result3034, value : lifted3036}) + } + 4 => { + + let result3037 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3039 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3038 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3038) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLt(@retry.PropertyComparison::{property_name : result3037, value : lifted3039}) + } + 5 => { + + let result3040 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3042 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result3041 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result3041) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLte(@retry.PropertyComparison::{property_name : result3040, value : lifted3042}) + } + 6 => { + + let result3043 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateNode::PropExists(result3043) + } + 7 => { + + let result3044 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array3047 : Array[@retry.PredicateValue] = []; + for index3048 = 0; index3048 < (mbt_ffi_load32((iter_base) + 20)); index3048 = index3048 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index3048 * 16) + + let lifted3046 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result3045 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateValue::Text(result3045) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 8)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + _ => panic() + } + + array3047.push(lifted3046) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{property_name : result3044, values : array3047}) + } + 8 => { + + let result3049 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result3050 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{property_name : result3049, pattern : result3050}) + } + 9 => { + + let result3051 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result3052 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{property_name : result3051, pattern : result3052}) + } + 10 => { + + let result3053 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result3054 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropContains(@retry.PropertyPattern::{property_name : result3053, pattern : result3054}) + } + 11 => { + + @retry.PredicateNode::PredAnd((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { + + @retry.PredicateNode::PredOr((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { + + @retry.PredicateNode::PredNot(mbt_ffi_load32((iter_base) + 8)) + } + 14 => { + + @retry.PredicateNode::PredTrue + } + 15 => { + + @retry.PredicateNode::PredFalse + } + _ => panic() + } + + array3056.push(lifted3055) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @retry.PolicyNode::FilteredOn(@retry.FilteredConfig::{predicate : @retry.RetryPredicate::{nodes : array3056}, inner : mbt_ffi_load32((iter_base) + 16)}) + } + 11 => { + + @retry.PolicyNode::AndThen((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { + + @retry.PolicyNode::PolicyUnion((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { + + @retry.PolicyNode::PolicyIntersect((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + _ => panic() + } + + array3059.push(lifted3058) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + PublicOplogEntry::SetRetryPolicy(SetRetryPolicyParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, policy : @retry.NamedRetryPolicy::{name : result2991, priority : (mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint(), predicate : @retry.RetryPredicate::{nodes : array3023}, policy : @retry.RetryPolicy::{nodes : array3059}}}) + } + 39 => { + + let result3061 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::RemoveRetryPolicy(RemoveRetryPolicyParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, name : result3061}) + } + 40 => { + + let lifted3062 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + QueuedCardEvent::Install(QueuedCardEventInstall::{card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}}) + } + 1 => { + + QueuedCardEvent::Revoke(QueuedCardEventRevoke::{card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}}) + } + _ => panic() + } + + PublicOplogEntry::CardEventQueued(CardEventQueuedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, event : lifted3062}) + } + 41 => { + + let lifted3063 : UInt64? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + PublicOplogEntry::CardInstalled(CardInstalledParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, queued_event_index : lifted3063, card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 48)).reinterpret_as_uint64()}}}) + } + 42 => { + + PublicOplogEntry::CardInstallFailed(CardInstallFailedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, queued_event_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}, reason : CardInstallFailure::from(mbt_ffi_load8_u((iter_base) + 48))}) + } + 43 => { + + PublicOplogEntry::CardRevoked(CardRevokedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, queued_event_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}}) + } + 44 => { + + PublicOplogEntry::CardExpired(CardExpiredParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}}) + } + 45 => { + + let array3260 : Array[@types.SchemaTypeNode] = []; + for index3261 = 0; index3261 < (mbt_ffi_load32((iter_base) + 40)); index3261 = index3261 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index3261 * 144) + + let lifted3246 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted3070 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3065 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3064 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3064) + } + _ => panic() + } + + let lifted3067 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3066 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3066) + } + _ => panic() + } + + let lifted3069 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3068 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3068) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3065, max : lifted3067, unit : lifted3069}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted3070) + } + 3 => { + + let lifted3077 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3072 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3071 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3071) + } + _ => panic() + } + + let lifted3074 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3073 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3073) + } + _ => panic() + } + + let lifted3076 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3075 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3075) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3072, max : lifted3074, unit : lifted3076}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted3077) + } + 4 => { + + let lifted3084 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3079 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3078 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3078) + } + _ => panic() + } + + let lifted3081 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3080 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3080) + } + _ => panic() + } + + let lifted3083 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3082 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3082) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3079, max : lifted3081, unit : lifted3083}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted3084) + } + 5 => { + + let lifted3091 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3086 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3085 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3085) + } + _ => panic() + } + + let lifted3088 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3087 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3087) + } + _ => panic() + } + + let lifted3090 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3089 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3089) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3086, max : lifted3088, unit : lifted3090}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted3091) + } + 6 => { + + let lifted3098 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3093 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3092 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3092) + } + _ => panic() + } + + let lifted3095 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3094 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3094) + } + _ => panic() + } + + let lifted3097 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3096 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3096) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3093, max : lifted3095, unit : lifted3097}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted3098) + } + 7 => { + + let lifted3105 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3100 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3099 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3099) + } + _ => panic() + } + + let lifted3102 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3101 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3101) + } + _ => panic() + } + + let lifted3104 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3103 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3103) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3100, max : lifted3102, unit : lifted3104}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted3105) + } + 8 => { + + let lifted3112 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3107 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3106 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3106) + } + _ => panic() + } + + let lifted3109 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3108 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3108) + } + _ => panic() + } + + let lifted3111 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3110 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3110) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3107, max : lifted3109, unit : lifted3111}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted3112) + } + 9 => { + + let lifted3119 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3114 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3113 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3113) + } + _ => panic() + } + + let lifted3116 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3115 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3115) + } + _ => panic() + } + + let lifted3118 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3117 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3117) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3114, max : lifted3116, unit : lifted3118}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted3119) + } + 10 => { + + let lifted3126 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3121 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3120 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3120) + } + _ => panic() + } + + let lifted3123 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3122 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3122) + } + _ => panic() + } + + let lifted3125 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3124 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3124) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3121, max : lifted3123, unit : lifted3125}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted3126) + } + 11 => { + + let lifted3133 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted3128 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted3127 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3127) + } + _ => panic() + } + + let lifted3130 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted3129 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted3129) + } + _ => panic() + } + + let lifted3132 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3131 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3131) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted3128, max : lifted3130, unit : lifted3132}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted3133) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array3148 : Array[@types.NamedFieldType] = []; + for index3149 = 0; index3149 < (mbt_ffi_load32((iter_base) + 12)); index3149 = index3149 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3149 * 68) + + let result3134 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted3136 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result3135 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result3135) + } + _ => panic() + } + + let array3138 : Array[String] = []; + for index3139 = 0; index3139 < (mbt_ffi_load32((iter_base) + 28)); index3139 = index3139 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index3139 * 8) + + let result3137 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3138.push(result3137) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array3141 : Array[String] = []; + for index3142 = 0; index3142 < (mbt_ffi_load32((iter_base) + 36)); index3142 = index3142 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index3142 * 8) + + let result3140 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3141.push(result3140) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted3144 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result3143 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result3143) + } + _ => panic() + } + + let lifted3147 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted3146 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result3145 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result3145) + } + _ => panic() + } + + Option::Some(lifted3146) + } + _ => panic() + } + + array3148.push(@types.NamedFieldType::{name : result3134, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted3136, aliases : array3138, examples : array3141, deprecated : lifted3144, role : lifted3147}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array3148) + } + 15 => { + + let array3165 : Array[@types.VariantCaseType] = []; + for index3166 = 0; index3166 < (mbt_ffi_load32((iter_base) + 12)); index3166 = index3166 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3166 * 72) + + let result3150 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted3151 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted3153 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result3152 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result3152) + } + _ => panic() + } + + let array3155 : Array[String] = []; + for index3156 = 0; index3156 < (mbt_ffi_load32((iter_base) + 32)); index3156 = index3156 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index3156 * 8) + + let result3154 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3155.push(result3154) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array3158 : Array[String] = []; + for index3159 = 0; index3159 < (mbt_ffi_load32((iter_base) + 40)); index3159 = index3159 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index3159 * 8) + + let result3157 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3158.push(result3157) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted3161 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result3160 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result3160) + } + _ => panic() + } + + let lifted3164 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted3163 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result3162 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result3162) + } + _ => panic() + } + + Option::Some(lifted3163) + } + _ => panic() + } + + array3165.push(@types.VariantCaseType::{name : result3150, payload : lifted3151, metadata : @types.MetadataEnvelope::{doc : lifted3153, aliases : array3155, examples : array3158, deprecated : lifted3161, role : lifted3164}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array3165) + } + 16 => { + + let array3168 : Array[String] = []; + for index3169 = 0; index3169 < (mbt_ffi_load32((iter_base) + 12)); index3169 = index3169 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3169 * 8) + + let result3167 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3168.push(result3167) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array3168) + } + 17 => { + + let array3171 : Array[String] = []; + for index3172 = 0; index3172 < (mbt_ffi_load32((iter_base) + 12)); index3172 = index3172 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3172 * 8) + + let result3170 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3171.push(result3170) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array3171) + } + 18 => { + + let array3173 : Array[Int] = []; + for index3174 = 0; index3174 < (mbt_ffi_load32((iter_base) + 12)); index3174 = index3174 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3174 * 4) + + array3173.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array3173) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted3175 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted3176 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted3175, err : lifted3176}) + } + 24 => { + + let lifted3180 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array3178 : Array[String] = []; + for index3179 = 0; index3179 < (mbt_ffi_load32((iter_base) + 16)); index3179 = index3179 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index3179 * 8) + + let result3177 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3178.push(result3177) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array3178) + } + _ => panic() + } + + let lifted3181 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted3182 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted3184 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result3183 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result3183) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted3180, min_length : lifted3181, max_length : lifted3182, regex : lifted3184}) + } + 25 => { + + let lifted3188 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array3186 : Array[String] = []; + for index3187 = 0; index3187 < (mbt_ffi_load32((iter_base) + 16)); index3187 = index3187 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index3187 * 8) + + let result3185 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3186.push(result3185) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array3186) + } + _ => panic() + } + + let lifted3189 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted3190 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted3188, min_bytes : lifted3189, max_bytes : lifted3190}) + } + 26 => { + + let lifted3194 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array3192 : Array[String] = []; + for index3193 = 0; index3193 < (mbt_ffi_load32((iter_base) + 20)); index3193 = index3193 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index3193 * 8) + + let result3191 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3192.push(result3191) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array3192) + } + _ => panic() + } + + let lifted3198 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array3196 : Array[String] = []; + for index3197 = 0; index3197 < (mbt_ffi_load32((iter_base) + 32)); index3197 = index3197 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index3197 * 8) + + let result3195 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3196.push(result3195) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array3196) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted3194, allowed_extensions : lifted3198}) + } + 27 => { + + let lifted3202 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array3200 : Array[String] = []; + for index3201 = 0; index3201 < (mbt_ffi_load32((iter_base) + 16)); index3201 = index3201 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index3201 * 8) + + let result3199 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3200.push(result3199) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array3200) + } + _ => panic() + } + + let lifted3206 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array3204 : Array[String] = []; + for index3205 = 0; index3205 < (mbt_ffi_load32((iter_base) + 28)); index3205 = index3205 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index3205 * 8) + + let result3203 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3204.push(result3203) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array3204) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted3202, allowed_hosts : lifted3206}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result3207 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array3209 : Array[String] = []; + for index3210 = 0; index3210 < (mbt_ffi_load32((iter_base) + 20)); index3210 = index3210 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index3210 * 8) + + let result3208 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3209.push(result3208) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted3212 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result3211 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result3211}) + } + _ => panic() + } + + let lifted3214 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result3213 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result3213}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result3207, allowed_suffixes : array3209, min : lifted3212, max : lifted3214}) + } + 31 => { + + let array3238 : Array[@types.UnionBranch] = []; + for index3239 = 0; index3239 < (mbt_ffi_load32((iter_base) + 12)); index3239 = index3239 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3239 * 92) + + let result3215 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted3224 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result3216 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result3216) + } + 1 => { + + let result3217 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result3217) + } + 2 => { + + let result3218 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result3218) + } + 3 => { + + let result3219 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result3219) + } + 4 => { + + let result3220 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted3222 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result3221 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result3221) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result3220, literal : lifted3222}) + } + 5 => { + + let result3223 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result3223) + } + _ => panic() + } + + let lifted3226 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result3225 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result3225) + } + _ => panic() + } + + let array3228 : Array[String] = []; + for index3229 = 0; index3229 < (mbt_ffi_load32((iter_base) + 52)); index3229 = index3229 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index3229 * 8) + + let result3227 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3228.push(result3227) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array3231 : Array[String] = []; + for index3232 = 0; index3232 < (mbt_ffi_load32((iter_base) + 60)); index3232 = index3232 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index3232 * 8) + + let result3230 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3231.push(result3230) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted3234 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result3233 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result3233) + } + _ => panic() + } + + let lifted3237 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted3236 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result3235 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result3235) + } + _ => panic() + } + + Option::Some(lifted3236) + } + _ => panic() + } + + array3238.push(@types.UnionBranch::{tag : result3215, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted3224, metadata : @types.MetadataEnvelope::{doc : lifted3226, aliases : array3228, examples : array3231, deprecated : lifted3234, role : lifted3237}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array3238}) + } + 32 => { + + let lifted3241 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result3240 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result3240) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted3241}) + } + 33 => { + + let lifted3243 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result3242 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result3242) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted3243}) + } + 34 => { + + let lifted3244 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted3244) + } + 35 => { + + let lifted3245 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted3245) + } + _ => panic() + } + + let lifted3248 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result3247 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result3247) + } + _ => panic() + } + + let array3250 : Array[String] = []; + for index3251 = 0; index3251 < (mbt_ffi_load32((iter_base) + 104)); index3251 = index3251 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index3251 * 8) + + let result3249 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3250.push(result3249) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array3253 : Array[String] = []; + for index3254 = 0; index3254 < (mbt_ffi_load32((iter_base) + 112)); index3254 = index3254 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index3254 * 8) + + let result3252 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array3253.push(result3252) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted3256 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result3255 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result3255) + } + _ => panic() + } + + let lifted3259 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted3258 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result3257 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result3257) + } + _ => panic() + } + + Option::Some(lifted3258) + } + _ => panic() + } + + array3260.push(@types.SchemaTypeNode::{body : lifted3246, metadata : @types.MetadataEnvelope::{doc : lifted3248, aliases : array3250, examples : array3253, deprecated : lifted3256, role : lifted3259}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array3265 : Array[@types.SchemaTypeDef] = []; + for index3266 = 0; index3266 < (mbt_ffi_load32((iter_base) + 48)); index3266 = index3266 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index3266 * 24) + + let result3262 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted3264 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result3263 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result3263) + } + _ => panic() + } + + array3265.push(@types.SchemaTypeDef::{id : result3262, name : lifted3264, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array3296 : Array[@types.SchemaValueNode] = []; + for index3297 = 0; index3297 < (mbt_ffi_load32((iter_base) + 60)); index3297 = index3297 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index3297 * 32) + + let lifted3295 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result3267 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result3267) + } + 13 => { + + let array3268 : Array[Int] = []; + for index3269 = 0; index3269 < (mbt_ffi_load32((iter_base) + 12)); index3269 = index3269 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3269 * 4) + + array3268.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array3268) + } + 14 => { + + let lifted3270 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted3270}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array3271 : Array[Bool] = []; + for index3272 = 0; index3272 < (mbt_ffi_load32((iter_base) + 12)); index3272 = index3272 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3272 * 1) + + array3271.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array3271) + } + 17 => { + + let array3273 : Array[Int] = []; + for index3274 = 0; index3274 < (mbt_ffi_load32((iter_base) + 12)); index3274 = index3274 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3274 * 4) + + array3273.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array3273) + } + 18 => { + + let array3275 : Array[Int] = []; + for index3276 = 0; index3276 < (mbt_ffi_load32((iter_base) + 12)); index3276 = index3276 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3276 * 4) + + array3275.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array3275) + } + 19 => { + + let array3277 : Array[Int] = []; + for index3278 = 0; index3278 < (mbt_ffi_load32((iter_base) + 12)); index3278 = index3278 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3278 * 4) + + array3277.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array3277) + } + 20 => { + + let array3279 : Array[@types.MapEntry] = []; + for index3280 = 0; index3280 < (mbt_ffi_load32((iter_base) + 12)); index3280 = index3280 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index3280 * 8) + + array3279.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array3279) + } + 21 => { + + let lifted3281 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted3281) + } + 22 => { + + let lifted3284 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted3282 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted3282) + } + 1 => { + + let lifted3283 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted3283) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted3284) + } + 23 => { + + let result3285 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3287 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result3286 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result3286) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result3285, language : lifted3287}) + } + 24 => { + + let result3288 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted3290 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result3289 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result3289) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result3288, mime_type : lifted3290}) + } + 25 => { + + let result3291 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result3291) + } + 26 => { + + let result3292 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result3292) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result3293 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result3293}) + } + 30 => { + + let result3294 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result3294, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array3296.push(lifted3295) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + PublicOplogEntry::HostStreamFrame(HostStreamFrameParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, parent_start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), kind : HostStreamKind::from(mbt_ffi_load8_u((iter_base) + 32)), payload : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array3260, defs : array3265, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array3296, root : mbt_ffi_load32((iter_base) + 64)}}}) + } + 46 => { + + PublicOplogEntry::CompletionDiscarded(CompletionDiscardedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 47 => { + + PublicOplogEntry::CompletionDelivered(CompletionDeliveredParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + _ => panic() + } + + array3299.push(lifted3298) + } + mbt_ffi_free(mbt_ffi_load32((return_area) + 4)) + + Result::Ok(array3299) + } + 1 => { + + let result3301 = mbt_ffi_ptr2str(mbt_ffi_load32((return_area) + 4), mbt_ffi_load32((return_area) + 8)) + + Result::Err(result3301) + } + _ => panic() + } + let ret = lifted3302 + mbt_ffi_free(ptr) + mbt_ffi_free(address460) + mbt_ffi_free(return_area) + + cleanup_list.each(mbt_ffi_free) + return ret + +} +///| +pub fn GetOplog::get_oplog(agent_id : @types.AgentId, start : UInt64) -> GetOplog { + + let ptr = mbt_ffi_str2ptr((agent_id).agent_id) + let result : Int = wasmImportConstructorGetOplog(((((agent_id).component_id).uuid).high_bits).reinterpret_as_int64(), ((((agent_id).component_id).uuid).low_bits).reinterpret_as_int64(), ptr, (agent_id).agent_id.length(), (start).reinterpret_as_int64()); + let ret = GetOplog::GetOplog(result) + mbt_ffi_free(ptr) + return ret + +} +///| +pub fn GetOplog::get_next(self : GetOplog) -> Array[PublicOplogEntry]? { + + let GetOplog(handle) = self + let return_area = mbt_ffi_malloc(12) + wasmImportMethodGetOplogGetNext(handle, return_area); + + let lifted2838 : Array[PublicOplogEntry]? = match mbt_ffi_load8_u((return_area) + 0) { + 0 => Option::None + 1 => { + + let array2836 : Array[PublicOplogEntry] = []; + for index2837 = 0; index2837 < (mbt_ffi_load32((return_area) + 8)); index2837 = index2837 + 1 { + let iter_base = (mbt_ffi_load32((return_area) + 4)) + (index2837 * 208) + + let lifted2835 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let array : Array[(String, String)] = []; + for index = 0; index < (mbt_ffi_load32((iter_base) + 68)); index = index + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index * 16) + + let result0 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result1 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array.push((result0, result1)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + let lifted : @types.AgentId? = match mbt_ffi_load8_u((iter_base) + 104) { + 0 => Option::None + 1 => { + + let result2 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 128), mbt_ffi_load32((iter_base) + 132)) + + Option::Some(@types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 112)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 120)).reinterpret_as_uint64()}}, agent_id : result2}) + } + _ => panic() + } + + let array9 : Array[PluginInstallationDescription] = []; + for index10 = 0; index10 < (mbt_ffi_load32((iter_base) + 156)); index10 = index10 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 152)) + (index10 * 48) + + let result3 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + let result4 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let array7 : Array[(String, String)] = []; + for index8 = 0; index8 < (mbt_ffi_load32((iter_base) + 40)); index8 = index8 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index8 * 16) + + let result5 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result6 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array7.push((result5, result6)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + array9.push(PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 0)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 16), plugin_name : result3, plugin_version : result4, parameters : array7}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 152)) + + let array248 : Array[LocalAgentConfigEntry] = []; + for index249 = 0; index249 < (mbt_ffi_load32((iter_base) + 164)); index249 = index249 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 160)) + (index249 * 40) + + let array12 : Array[String] = []; + for index13 = 0; index13 < (mbt_ffi_load32((iter_base) + 4)); index13 = index13 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index13 * 8) + + let result11 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array12.push(result11) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + let array210 : Array[@types.SchemaTypeNode] = []; + for index211 = 0; index211 < (mbt_ffi_load32((iter_base) + 12)); index211 = index211 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index211 * 144) + + let lifted196 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted20 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted15 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted14 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted14) + } + _ => panic() + } + + let lifted17 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted16 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted16) + } + _ => panic() + } + + let lifted19 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result18 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result18) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted15, max : lifted17, unit : lifted19}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted20) + } + 3 => { + + let lifted27 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted22 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted21 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted21) + } + _ => panic() + } + + let lifted24 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted23 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted23) + } + _ => panic() + } + + let lifted26 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result25 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result25) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted22, max : lifted24, unit : lifted26}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted27) + } + 4 => { + + let lifted34 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted29 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted28 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted28) + } + _ => panic() + } + + let lifted31 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted30 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted30) + } + _ => panic() + } + + let lifted33 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result32 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result32) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted29, max : lifted31, unit : lifted33}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted34) + } + 5 => { + + let lifted41 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted36 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted35 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted35) + } + _ => panic() + } + + let lifted38 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted37 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted37) + } + _ => panic() + } + + let lifted40 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result39 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result39) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted36, max : lifted38, unit : lifted40}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted41) + } + 6 => { + + let lifted48 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted43 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted42 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted42) + } + _ => panic() + } + + let lifted45 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted44 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted44) + } + _ => panic() + } + + let lifted47 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result46 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result46) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted43, max : lifted45, unit : lifted47}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted48) + } + 7 => { + + let lifted55 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted50 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted49 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted49) + } + _ => panic() + } + + let lifted52 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted51 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted51) + } + _ => panic() + } + + let lifted54 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result53 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result53) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted50, max : lifted52, unit : lifted54}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted55) + } + 8 => { + + let lifted62 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted57 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted56 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted56) + } + _ => panic() + } + + let lifted59 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted58 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted58) + } + _ => panic() + } + + let lifted61 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result60 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result60) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted57, max : lifted59, unit : lifted61}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted62) + } + 9 => { + + let lifted69 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted64 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted63 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted63) + } + _ => panic() + } + + let lifted66 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted65 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted65) + } + _ => panic() + } + + let lifted68 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result67 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result67) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted64, max : lifted66, unit : lifted68}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted69) + } + 10 => { + + let lifted76 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted71 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted70 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted70) + } + _ => panic() + } + + let lifted73 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted72 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted72) + } + _ => panic() + } + + let lifted75 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result74 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result74) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted71, max : lifted73, unit : lifted75}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted76) + } + 11 => { + + let lifted83 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted78 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted77 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted77) + } + _ => panic() + } + + let lifted80 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted79 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted79) + } + _ => panic() + } + + let lifted82 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result81 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result81) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted78, max : lifted80, unit : lifted82}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted83) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array98 : Array[@types.NamedFieldType] = []; + for index99 = 0; index99 < (mbt_ffi_load32((iter_base) + 12)); index99 = index99 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index99 * 68) + + let result84 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted86 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result85 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result85) + } + _ => panic() + } + + let array88 : Array[String] = []; + for index89 = 0; index89 < (mbt_ffi_load32((iter_base) + 28)); index89 = index89 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index89 * 8) + + let result87 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array88.push(result87) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array91 : Array[String] = []; + for index92 = 0; index92 < (mbt_ffi_load32((iter_base) + 36)); index92 = index92 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index92 * 8) + + let result90 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array91.push(result90) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted94 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result93 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result93) + } + _ => panic() + } + + let lifted97 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted96 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result95 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result95) + } + _ => panic() + } + + Option::Some(lifted96) + } + _ => panic() + } + + array98.push(@types.NamedFieldType::{name : result84, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted86, aliases : array88, examples : array91, deprecated : lifted94, role : lifted97}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array98) + } + 15 => { + + let array115 : Array[@types.VariantCaseType] = []; + for index116 = 0; index116 < (mbt_ffi_load32((iter_base) + 12)); index116 = index116 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index116 * 72) + + let result100 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted101 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted103 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result102 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result102) + } + _ => panic() + } + + let array105 : Array[String] = []; + for index106 = 0; index106 < (mbt_ffi_load32((iter_base) + 32)); index106 = index106 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index106 * 8) + + let result104 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array105.push(result104) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array108 : Array[String] = []; + for index109 = 0; index109 < (mbt_ffi_load32((iter_base) + 40)); index109 = index109 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index109 * 8) + + let result107 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array108.push(result107) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted111 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result110 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result110) + } + _ => panic() + } + + let lifted114 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted113 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result112 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result112) + } + _ => panic() + } + + Option::Some(lifted113) + } + _ => panic() + } + + array115.push(@types.VariantCaseType::{name : result100, payload : lifted101, metadata : @types.MetadataEnvelope::{doc : lifted103, aliases : array105, examples : array108, deprecated : lifted111, role : lifted114}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array115) + } + 16 => { + + let array118 : Array[String] = []; + for index119 = 0; index119 < (mbt_ffi_load32((iter_base) + 12)); index119 = index119 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index119 * 8) + + let result117 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array118.push(result117) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array118) + } + 17 => { + + let array121 : Array[String] = []; + for index122 = 0; index122 < (mbt_ffi_load32((iter_base) + 12)); index122 = index122 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index122 * 8) + + let result120 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array121.push(result120) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array121) + } + 18 => { + + let array123 : Array[Int] = []; + for index124 = 0; index124 < (mbt_ffi_load32((iter_base) + 12)); index124 = index124 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index124 * 4) + + array123.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array123) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted125 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted126 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted125, err : lifted126}) + } + 24 => { + + let lifted130 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array128 : Array[String] = []; + for index129 = 0; index129 < (mbt_ffi_load32((iter_base) + 16)); index129 = index129 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index129 * 8) + + let result127 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array128.push(result127) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array128) + } + _ => panic() + } + + let lifted131 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted132 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted134 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result133 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result133) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted130, min_length : lifted131, max_length : lifted132, regex : lifted134}) + } + 25 => { + + let lifted138 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array136 : Array[String] = []; + for index137 = 0; index137 < (mbt_ffi_load32((iter_base) + 16)); index137 = index137 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index137 * 8) + + let result135 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array136.push(result135) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array136) + } + _ => panic() + } + + let lifted139 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted140 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted138, min_bytes : lifted139, max_bytes : lifted140}) + } + 26 => { + + let lifted144 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array142 : Array[String] = []; + for index143 = 0; index143 < (mbt_ffi_load32((iter_base) + 20)); index143 = index143 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index143 * 8) + + let result141 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array142.push(result141) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array142) + } + _ => panic() + } + + let lifted148 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array146 : Array[String] = []; + for index147 = 0; index147 < (mbt_ffi_load32((iter_base) + 32)); index147 = index147 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index147 * 8) + + let result145 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array146.push(result145) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array146) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted144, allowed_extensions : lifted148}) + } + 27 => { + + let lifted152 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array150 : Array[String] = []; + for index151 = 0; index151 < (mbt_ffi_load32((iter_base) + 16)); index151 = index151 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index151 * 8) + + let result149 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array150.push(result149) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array150) + } + _ => panic() + } + + let lifted156 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array154 : Array[String] = []; + for index155 = 0; index155 < (mbt_ffi_load32((iter_base) + 28)); index155 = index155 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index155 * 8) + + let result153 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array154.push(result153) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array154) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted152, allowed_hosts : lifted156}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result157 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array159 : Array[String] = []; + for index160 = 0; index160 < (mbt_ffi_load32((iter_base) + 20)); index160 = index160 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index160 * 8) + + let result158 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array159.push(result158) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted162 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result161 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result161}) + } + _ => panic() + } + + let lifted164 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result163 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result163}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result157, allowed_suffixes : array159, min : lifted162, max : lifted164}) + } + 31 => { + + let array188 : Array[@types.UnionBranch] = []; + for index189 = 0; index189 < (mbt_ffi_load32((iter_base) + 12)); index189 = index189 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index189 * 92) + + let result165 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted174 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result166 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result166) + } + 1 => { + + let result167 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result167) + } + 2 => { + + let result168 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result168) + } + 3 => { + + let result169 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result169) + } + 4 => { + + let result170 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted172 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result171 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result171) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result170, literal : lifted172}) + } + 5 => { + + let result173 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result173) + } + _ => panic() + } + + let lifted176 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result175 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result175) + } + _ => panic() + } + + let array178 : Array[String] = []; + for index179 = 0; index179 < (mbt_ffi_load32((iter_base) + 52)); index179 = index179 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index179 * 8) + + let result177 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array178.push(result177) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array181 : Array[String] = []; + for index182 = 0; index182 < (mbt_ffi_load32((iter_base) + 60)); index182 = index182 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index182 * 8) + + let result180 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array181.push(result180) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted184 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result183 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result183) + } + _ => panic() + } + + let lifted187 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted186 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result185 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result185) + } + _ => panic() + } + + Option::Some(lifted186) + } + _ => panic() + } + + array188.push(@types.UnionBranch::{tag : result165, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted174, metadata : @types.MetadataEnvelope::{doc : lifted176, aliases : array178, examples : array181, deprecated : lifted184, role : lifted187}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array188}) + } + 32 => { + + let lifted191 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result190 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result190) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted191}) + } + 33 => { + + let lifted193 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result192 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result192) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted193}) + } + 34 => { + + let lifted194 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted194) + } + 35 => { + + let lifted195 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted195) + } + _ => panic() + } + + let lifted198 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result197 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result197) + } + _ => panic() + } + + let array200 : Array[String] = []; + for index201 = 0; index201 < (mbt_ffi_load32((iter_base) + 104)); index201 = index201 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index201 * 8) + + let result199 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array200.push(result199) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array203 : Array[String] = []; + for index204 = 0; index204 < (mbt_ffi_load32((iter_base) + 112)); index204 = index204 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index204 * 8) + + let result202 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array203.push(result202) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted206 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result205 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result205) + } + _ => panic() + } + + let lifted209 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted208 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result207 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result207) + } + _ => panic() + } + + Option::Some(lifted208) + } + _ => panic() + } + + array210.push(@types.SchemaTypeNode::{body : lifted196, metadata : @types.MetadataEnvelope::{doc : lifted198, aliases : array200, examples : array203, deprecated : lifted206, role : lifted209}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + let array215 : Array[@types.SchemaTypeDef] = []; + for index216 = 0; index216 < (mbt_ffi_load32((iter_base) + 20)); index216 = index216 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index216 * 24) + + let result212 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted214 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result213 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result213) + } + _ => panic() + } + + array215.push(@types.SchemaTypeDef::{id : result212, name : lifted214, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let array246 : Array[@types.SchemaValueNode] = []; + for index247 = 0; index247 < (mbt_ffi_load32((iter_base) + 32)); index247 = index247 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index247 * 32) + + let lifted245 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result217 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result217) + } + 13 => { + + let array218 : Array[Int] = []; + for index219 = 0; index219 < (mbt_ffi_load32((iter_base) + 12)); index219 = index219 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index219 * 4) + + array218.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array218) + } + 14 => { + + let lifted220 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted220}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array221 : Array[Bool] = []; + for index222 = 0; index222 < (mbt_ffi_load32((iter_base) + 12)); index222 = index222 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index222 * 1) + + array221.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array221) + } + 17 => { + + let array223 : Array[Int] = []; + for index224 = 0; index224 < (mbt_ffi_load32((iter_base) + 12)); index224 = index224 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index224 * 4) + + array223.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array223) + } + 18 => { + + let array225 : Array[Int] = []; + for index226 = 0; index226 < (mbt_ffi_load32((iter_base) + 12)); index226 = index226 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index226 * 4) + + array225.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array225) + } + 19 => { + + let array227 : Array[Int] = []; + for index228 = 0; index228 < (mbt_ffi_load32((iter_base) + 12)); index228 = index228 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index228 * 4) + + array227.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array227) + } + 20 => { + + let array229 : Array[@types.MapEntry] = []; + for index230 = 0; index230 < (mbt_ffi_load32((iter_base) + 12)); index230 = index230 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index230 * 8) + + array229.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array229) + } + 21 => { + + let lifted231 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted231) + } + 22 => { + + let lifted234 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted232 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted232) + } + 1 => { + + let lifted233 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted233) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted234) + } + 23 => { + + let result235 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted237 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result236 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result236) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result235, language : lifted237}) + } + 24 => { + + let result238 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted240 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result239 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result239) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result238, mime_type : lifted240}) + } + 25 => { + + let result241 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result241) + } + 26 => { + + let result242 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result242) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result243 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result243}) + } + 30 => { + + let result244 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result244, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array246.push(lifted245) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + array248.push(LocalAgentConfigEntry::{path : array12, value : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array210, defs : array215, root : mbt_ffi_load32((iter_base) + 24)}, value : @types.SchemaValueTree::{value_nodes : array246, root : mbt_ffi_load32((iter_base) + 36)}}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 160)) + + let lifted250 : @types.Uuid? = match mbt_ffi_load8_u((iter_base) + 168) { + 0 => Option::None + 1 => { + + Option::Some(@types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 176)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 184)).reinterpret_as_uint64()}) + } + _ => panic() + } + + PublicOplogEntry::Create(CreateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, agent_id : @types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, agent_id : result}, agent_mode : AgentMode::from(mbt_ffi_load8_u((iter_base) + 48)), component_revision : (mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64(), env : array, created_by : @types.AccountId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 72)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()}}, environment_id : @host.EnvironmentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 88)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 96)).reinterpret_as_uint64()}}, parent : lifted, component_size : (mbt_ffi_load64((iter_base) + 136)).reinterpret_as_uint64(), initial_total_linear_memory_size : (mbt_ffi_load64((iter_base) + 144)).reinterpret_as_uint64(), initial_active_plugins : array9, local_agent_config : array248, original_phantom_id : lifted250, instance_id : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 192)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 200)).reinterpret_as_uint64()}}) + } + 1 => { + + let lifted251 : UInt64? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + let result252 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let lifted253 : @types.Uuid? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some(@types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 64)).reinterpret_as_uint64()}) + } + _ => panic() + } + + let lifted254 : UInt64? = match mbt_ffi_load8_u((iter_base) + 72) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()) + } + _ => panic() + } + + let lifted489 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let array451 : Array[@types.SchemaTypeNode] = []; + for index452 = 0; index452 < (mbt_ffi_load32((iter_base) + 96)); index452 = index452 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 92)) + (index452 * 144) + + let lifted437 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted261 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted256 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted255 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted255) + } + _ => panic() + } + + let lifted258 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted257 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted257) + } + _ => panic() + } + + let lifted260 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result259 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result259) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted256, max : lifted258, unit : lifted260}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted261) + } + 3 => { + + let lifted268 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted263 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted262 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted262) + } + _ => panic() + } + + let lifted265 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted264 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted264) + } + _ => panic() + } + + let lifted267 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result266 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result266) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted263, max : lifted265, unit : lifted267}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted268) + } + 4 => { + + let lifted275 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted270 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted269 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted269) + } + _ => panic() + } + + let lifted272 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted271 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted271) + } + _ => panic() + } + + let lifted274 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result273 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result273) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted270, max : lifted272, unit : lifted274}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted275) + } + 5 => { + + let lifted282 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted277 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted276 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted276) + } + _ => panic() + } + + let lifted279 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted278 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted278) + } + _ => panic() + } + + let lifted281 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result280 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result280) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted277, max : lifted279, unit : lifted281}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted282) + } + 6 => { + + let lifted289 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted284 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted283 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted283) + } + _ => panic() + } + + let lifted286 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted285 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted285) + } + _ => panic() + } + + let lifted288 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result287 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result287) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted284, max : lifted286, unit : lifted288}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted289) + } + 7 => { + + let lifted296 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted291 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted290 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted290) + } + _ => panic() + } + + let lifted293 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted292 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted292) + } + _ => panic() + } + + let lifted295 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result294 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result294) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted291, max : lifted293, unit : lifted295}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted296) + } + 8 => { + + let lifted303 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted298 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted297 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted297) + } + _ => panic() + } + + let lifted300 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted299 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted299) + } + _ => panic() + } + + let lifted302 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result301 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result301) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted298, max : lifted300, unit : lifted302}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted303) + } + 9 => { + + let lifted310 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted305 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted304 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted304) + } + _ => panic() + } + + let lifted307 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted306 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted306) + } + _ => panic() + } + + let lifted309 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result308 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result308) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted305, max : lifted307, unit : lifted309}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted310) + } + 10 => { + + let lifted317 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted312 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted311 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted311) + } + _ => panic() + } + + let lifted314 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted313 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted313) + } + _ => panic() + } + + let lifted316 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result315 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result315) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted312, max : lifted314, unit : lifted316}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted317) + } + 11 => { + + let lifted324 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted319 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted318 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted318) + } + _ => panic() + } + + let lifted321 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted320 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted320) + } + _ => panic() + } + + let lifted323 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result322 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result322) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted319, max : lifted321, unit : lifted323}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted324) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array339 : Array[@types.NamedFieldType] = []; + for index340 = 0; index340 < (mbt_ffi_load32((iter_base) + 12)); index340 = index340 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index340 * 68) + + let result325 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted327 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result326 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result326) + } + _ => panic() + } + + let array329 : Array[String] = []; + for index330 = 0; index330 < (mbt_ffi_load32((iter_base) + 28)); index330 = index330 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index330 * 8) + + let result328 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array329.push(result328) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array332 : Array[String] = []; + for index333 = 0; index333 < (mbt_ffi_load32((iter_base) + 36)); index333 = index333 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index333 * 8) + + let result331 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array332.push(result331) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted335 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result334 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result334) + } + _ => panic() + } + + let lifted338 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted337 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result336 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result336) + } + _ => panic() + } + + Option::Some(lifted337) + } + _ => panic() + } + + array339.push(@types.NamedFieldType::{name : result325, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted327, aliases : array329, examples : array332, deprecated : lifted335, role : lifted338}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array339) + } + 15 => { + + let array356 : Array[@types.VariantCaseType] = []; + for index357 = 0; index357 < (mbt_ffi_load32((iter_base) + 12)); index357 = index357 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index357 * 72) + + let result341 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted342 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted344 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result343 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result343) + } + _ => panic() + } + + let array346 : Array[String] = []; + for index347 = 0; index347 < (mbt_ffi_load32((iter_base) + 32)); index347 = index347 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index347 * 8) + + let result345 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array346.push(result345) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array349 : Array[String] = []; + for index350 = 0; index350 < (mbt_ffi_load32((iter_base) + 40)); index350 = index350 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index350 * 8) + + let result348 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array349.push(result348) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted352 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result351 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result351) + } + _ => panic() + } + + let lifted355 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted354 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result353 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result353) + } + _ => panic() + } + + Option::Some(lifted354) + } + _ => panic() + } + + array356.push(@types.VariantCaseType::{name : result341, payload : lifted342, metadata : @types.MetadataEnvelope::{doc : lifted344, aliases : array346, examples : array349, deprecated : lifted352, role : lifted355}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array356) + } + 16 => { + + let array359 : Array[String] = []; + for index360 = 0; index360 < (mbt_ffi_load32((iter_base) + 12)); index360 = index360 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index360 * 8) + + let result358 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array359.push(result358) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array359) + } + 17 => { + + let array362 : Array[String] = []; + for index363 = 0; index363 < (mbt_ffi_load32((iter_base) + 12)); index363 = index363 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index363 * 8) + + let result361 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array362.push(result361) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array362) + } + 18 => { + + let array364 : Array[Int] = []; + for index365 = 0; index365 < (mbt_ffi_load32((iter_base) + 12)); index365 = index365 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index365 * 4) + + array364.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array364) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted366 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted367 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted366, err : lifted367}) + } + 24 => { + + let lifted371 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array369 : Array[String] = []; + for index370 = 0; index370 < (mbt_ffi_load32((iter_base) + 16)); index370 = index370 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index370 * 8) + + let result368 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array369.push(result368) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array369) + } + _ => panic() + } + + let lifted372 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted373 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted375 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result374 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result374) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted371, min_length : lifted372, max_length : lifted373, regex : lifted375}) + } + 25 => { + + let lifted379 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array377 : Array[String] = []; + for index378 = 0; index378 < (mbt_ffi_load32((iter_base) + 16)); index378 = index378 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index378 * 8) + + let result376 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array377.push(result376) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array377) + } + _ => panic() + } + + let lifted380 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted381 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted379, min_bytes : lifted380, max_bytes : lifted381}) + } + 26 => { + + let lifted385 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array383 : Array[String] = []; + for index384 = 0; index384 < (mbt_ffi_load32((iter_base) + 20)); index384 = index384 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index384 * 8) + + let result382 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array383.push(result382) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array383) + } + _ => panic() + } + + let lifted389 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array387 : Array[String] = []; + for index388 = 0; index388 < (mbt_ffi_load32((iter_base) + 32)); index388 = index388 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index388 * 8) + + let result386 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array387.push(result386) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array387) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted385, allowed_extensions : lifted389}) + } + 27 => { + + let lifted393 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array391 : Array[String] = []; + for index392 = 0; index392 < (mbt_ffi_load32((iter_base) + 16)); index392 = index392 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index392 * 8) + + let result390 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array391.push(result390) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array391) + } + _ => panic() + } + + let lifted397 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array395 : Array[String] = []; + for index396 = 0; index396 < (mbt_ffi_load32((iter_base) + 28)); index396 = index396 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index396 * 8) + + let result394 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array395.push(result394) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array395) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted393, allowed_hosts : lifted397}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result398 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array400 : Array[String] = []; + for index401 = 0; index401 < (mbt_ffi_load32((iter_base) + 20)); index401 = index401 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index401 * 8) + + let result399 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array400.push(result399) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted403 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result402 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result402}) + } + _ => panic() + } + + let lifted405 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result404 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result404}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result398, allowed_suffixes : array400, min : lifted403, max : lifted405}) + } + 31 => { + + let array429 : Array[@types.UnionBranch] = []; + for index430 = 0; index430 < (mbt_ffi_load32((iter_base) + 12)); index430 = index430 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index430 * 92) + + let result406 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted415 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result407 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result407) + } + 1 => { + + let result408 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result408) + } + 2 => { + + let result409 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result409) + } + 3 => { + + let result410 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result410) + } + 4 => { + + let result411 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted413 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result412 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result412) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result411, literal : lifted413}) + } + 5 => { + + let result414 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result414) + } + _ => panic() + } + + let lifted417 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result416 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result416) + } + _ => panic() + } + + let array419 : Array[String] = []; + for index420 = 0; index420 < (mbt_ffi_load32((iter_base) + 52)); index420 = index420 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index420 * 8) + + let result418 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array419.push(result418) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array422 : Array[String] = []; + for index423 = 0; index423 < (mbt_ffi_load32((iter_base) + 60)); index423 = index423 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index423 * 8) + + let result421 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array422.push(result421) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted425 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result424 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result424) + } + _ => panic() + } + + let lifted428 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted427 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result426 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result426) + } + _ => panic() + } + + Option::Some(lifted427) + } + _ => panic() + } + + array429.push(@types.UnionBranch::{tag : result406, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted415, metadata : @types.MetadataEnvelope::{doc : lifted417, aliases : array419, examples : array422, deprecated : lifted425, role : lifted428}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array429}) + } + 32 => { + + let lifted432 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result431 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result431) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted432}) + } + 33 => { + + let lifted434 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result433 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result433) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted434}) + } + 34 => { + + let lifted435 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted435) + } + 35 => { + + let lifted436 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted436) + } + _ => panic() + } + + let lifted439 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result438 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result438) + } + _ => panic() + } + + let array441 : Array[String] = []; + for index442 = 0; index442 < (mbt_ffi_load32((iter_base) + 104)); index442 = index442 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index442 * 8) + + let result440 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array441.push(result440) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array444 : Array[String] = []; + for index445 = 0; index445 < (mbt_ffi_load32((iter_base) + 112)); index445 = index445 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index445 * 8) + + let result443 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array444.push(result443) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted447 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result446 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result446) + } + _ => panic() + } + + let lifted450 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted449 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result448 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result448) + } + _ => panic() + } + + Option::Some(lifted449) + } + _ => panic() + } + + array451.push(@types.SchemaTypeNode::{body : lifted437, metadata : @types.MetadataEnvelope::{doc : lifted439, aliases : array441, examples : array444, deprecated : lifted447, role : lifted450}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 92)) + + let array456 : Array[@types.SchemaTypeDef] = []; + for index457 = 0; index457 < (mbt_ffi_load32((iter_base) + 104)); index457 = index457 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index457 * 24) + + let result453 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted455 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result454 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result454) + } + _ => panic() + } + + array456.push(@types.SchemaTypeDef::{id : result453, name : lifted455, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array487 : Array[@types.SchemaValueNode] = []; + for index488 = 0; index488 < (mbt_ffi_load32((iter_base) + 116)); index488 = index488 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 112)) + (index488 * 32) + + let lifted486 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result458 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result458) + } + 13 => { + + let array459 : Array[Int] = []; + for index460 = 0; index460 < (mbt_ffi_load32((iter_base) + 12)); index460 = index460 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index460 * 4) + + array459.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array459) + } + 14 => { + + let lifted461 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted461}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array462 : Array[Bool] = []; + for index463 = 0; index463 < (mbt_ffi_load32((iter_base) + 12)); index463 = index463 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index463 * 1) + + array462.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array462) + } + 17 => { + + let array464 : Array[Int] = []; + for index465 = 0; index465 < (mbt_ffi_load32((iter_base) + 12)); index465 = index465 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index465 * 4) + + array464.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array464) + } + 18 => { + + let array466 : Array[Int] = []; + for index467 = 0; index467 < (mbt_ffi_load32((iter_base) + 12)); index467 = index467 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index467 * 4) + + array466.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array466) + } + 19 => { + + let array468 : Array[Int] = []; + for index469 = 0; index469 < (mbt_ffi_load32((iter_base) + 12)); index469 = index469 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index469 * 4) + + array468.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array468) + } + 20 => { + + let array470 : Array[@types.MapEntry] = []; + for index471 = 0; index471 < (mbt_ffi_load32((iter_base) + 12)); index471 = index471 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index471 * 8) + + array470.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array470) + } + 21 => { + + let lifted472 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted472) + } + 22 => { + + let lifted475 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted473 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted473) + } + 1 => { + + let lifted474 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted474) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted475) + } + 23 => { + + let result476 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted478 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result477 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result477) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result476, language : lifted478}) + } + 24 => { + + let result479 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted481 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result480 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result480) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result479, mime_type : lifted481}) + } + 25 => { + + let result482 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result482) + } + 26 => { + + let result483 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result483) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result484 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result484}) + } + 30 => { + + let result485 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result485, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array487.push(lifted486) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 112)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array451, defs : array456, root : mbt_ffi_load32((iter_base) + 108)}, value : @types.SchemaValueTree::{value_nodes : array487, root : mbt_ffi_load32((iter_base) + 120)}}) + } + _ => panic() + } + + let lifted492 = match (mbt_ffi_load8_u((iter_base) + 128)) { + 0 => { + + WrappedFunctionType::ReadLocal + } + 1 => { + + WrappedFunctionType::WriteLocal + } + 2 => { + + WrappedFunctionType::ReadRemote + } + 3 => { + + WrappedFunctionType::WriteRemote + } + 4 => { + + let lifted490 : UInt64? = match mbt_ffi_load8_u((iter_base) + 136) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 144)).reinterpret_as_uint64()) + } + _ => panic() + } + + WrappedFunctionType::WriteRemoteBatched(lifted490) + } + 5 => { + + let lifted491 : UInt64? = match mbt_ffi_load8_u((iter_base) + 136) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 144)).reinterpret_as_uint64()) + } + _ => panic() + } + + WrappedFunctionType::WriteRemoteTransaction(lifted491) + } + _ => panic() + } + + PublicOplogEntry::Start(StartParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, parent_start_index : lifted251, function_name : result252, invocation_id : lifted253, observational_owner : lifted254, request : lifted489, durable_function_type : lifted492}) + } + 2 => { + + let lifted727 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let array689 : Array[@types.SchemaTypeNode] = []; + for index690 = 0; index690 < (mbt_ffi_load32((iter_base) + 40)); index690 = index690 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index690 * 144) + + let lifted675 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted499 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted494 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted493 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted493) + } + _ => panic() + } + + let lifted496 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted495 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted495) + } + _ => panic() + } + + let lifted498 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result497 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result497) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted494, max : lifted496, unit : lifted498}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted499) + } + 3 => { + + let lifted506 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted501 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted500 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted500) + } + _ => panic() + } + + let lifted503 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted502 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted502) + } + _ => panic() + } + + let lifted505 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result504 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result504) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted501, max : lifted503, unit : lifted505}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted506) + } + 4 => { + + let lifted513 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted508 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted507 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted507) + } + _ => panic() + } + + let lifted510 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted509 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted509) + } + _ => panic() + } + + let lifted512 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result511 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result511) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted508, max : lifted510, unit : lifted512}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted513) + } + 5 => { + + let lifted520 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted515 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted514 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted514) + } + _ => panic() + } + + let lifted517 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted516 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted516) + } + _ => panic() + } + + let lifted519 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result518 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result518) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted515, max : lifted517, unit : lifted519}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted520) + } + 6 => { + + let lifted527 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted522 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted521 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted521) + } + _ => panic() + } + + let lifted524 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted523 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted523) + } + _ => panic() + } + + let lifted526 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result525 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result525) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted522, max : lifted524, unit : lifted526}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted527) + } + 7 => { + + let lifted534 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted529 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted528 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted528) + } + _ => panic() + } + + let lifted531 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted530 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted530) + } + _ => panic() + } + + let lifted533 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result532 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result532) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted529, max : lifted531, unit : lifted533}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted534) + } + 8 => { + + let lifted541 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted536 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted535 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted535) + } + _ => panic() + } + + let lifted538 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted537 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted537) + } + _ => panic() + } + + let lifted540 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result539 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result539) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted536, max : lifted538, unit : lifted540}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted541) + } + 9 => { + + let lifted548 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted543 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted542 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted542) + } + _ => panic() + } + + let lifted545 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted544 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted544) + } + _ => panic() + } + + let lifted547 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result546 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result546) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted543, max : lifted545, unit : lifted547}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted548) + } + 10 => { + + let lifted555 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted550 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted549 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted549) + } + _ => panic() + } + + let lifted552 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted551 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted551) + } + _ => panic() + } + + let lifted554 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result553 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result553) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted550, max : lifted552, unit : lifted554}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted555) + } + 11 => { + + let lifted562 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted557 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted556 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted556) + } + _ => panic() + } + + let lifted559 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted558 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted558) + } + _ => panic() + } + + let lifted561 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result560 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result560) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted557, max : lifted559, unit : lifted561}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted562) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array577 : Array[@types.NamedFieldType] = []; + for index578 = 0; index578 < (mbt_ffi_load32((iter_base) + 12)); index578 = index578 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index578 * 68) + + let result563 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted565 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result564 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result564) + } + _ => panic() + } + + let array567 : Array[String] = []; + for index568 = 0; index568 < (mbt_ffi_load32((iter_base) + 28)); index568 = index568 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index568 * 8) + + let result566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array567.push(result566) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array570 : Array[String] = []; + for index571 = 0; index571 < (mbt_ffi_load32((iter_base) + 36)); index571 = index571 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index571 * 8) + + let result569 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array570.push(result569) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted573 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result572 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result572) + } + _ => panic() + } + + let lifted576 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted575 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result574) + } + _ => panic() + } + + Option::Some(lifted575) + } + _ => panic() + } + + array577.push(@types.NamedFieldType::{name : result563, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted565, aliases : array567, examples : array570, deprecated : lifted573, role : lifted576}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array577) + } + 15 => { + + let array594 : Array[@types.VariantCaseType] = []; + for index595 = 0; index595 < (mbt_ffi_load32((iter_base) + 12)); index595 = index595 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index595 * 72) + + let result579 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted580 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted582 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result581 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result581) + } + _ => panic() + } + + let array584 : Array[String] = []; + for index585 = 0; index585 < (mbt_ffi_load32((iter_base) + 32)); index585 = index585 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index585 * 8) + + let result583 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array584.push(result583) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array587 : Array[String] = []; + for index588 = 0; index588 < (mbt_ffi_load32((iter_base) + 40)); index588 = index588 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index588 * 8) + + let result586 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array587.push(result586) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted590 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result589 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result589) + } + _ => panic() + } + + let lifted593 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted592 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result591 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result591) + } + _ => panic() + } + + Option::Some(lifted592) + } + _ => panic() + } + + array594.push(@types.VariantCaseType::{name : result579, payload : lifted580, metadata : @types.MetadataEnvelope::{doc : lifted582, aliases : array584, examples : array587, deprecated : lifted590, role : lifted593}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array594) + } + 16 => { + + let array597 : Array[String] = []; + for index598 = 0; index598 < (mbt_ffi_load32((iter_base) + 12)); index598 = index598 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index598 * 8) + + let result596 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array597.push(result596) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array597) + } + 17 => { + + let array600 : Array[String] = []; + for index601 = 0; index601 < (mbt_ffi_load32((iter_base) + 12)); index601 = index601 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index601 * 8) + + let result599 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array600.push(result599) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array600) + } + 18 => { + + let array602 : Array[Int] = []; + for index603 = 0; index603 < (mbt_ffi_load32((iter_base) + 12)); index603 = index603 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index603 * 4) + + array602.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array602) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted604 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted605 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted604, err : lifted605}) + } + 24 => { + + let lifted609 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array607 : Array[String] = []; + for index608 = 0; index608 < (mbt_ffi_load32((iter_base) + 16)); index608 = index608 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index608 * 8) + + let result606 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array607.push(result606) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array607) + } + _ => panic() + } + + let lifted610 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted611 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted613 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result612 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result612) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted609, min_length : lifted610, max_length : lifted611, regex : lifted613}) + } + 25 => { + + let lifted617 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array615 : Array[String] = []; + for index616 = 0; index616 < (mbt_ffi_load32((iter_base) + 16)); index616 = index616 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index616 * 8) + + let result614 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array615.push(result614) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array615) + } + _ => panic() + } + + let lifted618 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted619 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted617, min_bytes : lifted618, max_bytes : lifted619}) + } + 26 => { + + let lifted623 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array621 : Array[String] = []; + for index622 = 0; index622 < (mbt_ffi_load32((iter_base) + 20)); index622 = index622 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index622 * 8) + + let result620 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array621.push(result620) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array621) + } + _ => panic() + } + + let lifted627 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array625 : Array[String] = []; + for index626 = 0; index626 < (mbt_ffi_load32((iter_base) + 32)); index626 = index626 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index626 * 8) + + let result624 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array625.push(result624) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array625) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted623, allowed_extensions : lifted627}) + } + 27 => { + + let lifted631 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array629 : Array[String] = []; + for index630 = 0; index630 < (mbt_ffi_load32((iter_base) + 16)); index630 = index630 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index630 * 8) + + let result628 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array629.push(result628) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array629) + } + _ => panic() + } + + let lifted635 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array633 : Array[String] = []; + for index634 = 0; index634 < (mbt_ffi_load32((iter_base) + 28)); index634 = index634 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index634 * 8) + + let result632 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array633.push(result632) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array633) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted631, allowed_hosts : lifted635}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result636 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array638 : Array[String] = []; + for index639 = 0; index639 < (mbt_ffi_load32((iter_base) + 20)); index639 = index639 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index639 * 8) + + let result637 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array638.push(result637) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted641 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result640 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result640}) + } + _ => panic() + } + + let lifted643 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result642 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result642}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result636, allowed_suffixes : array638, min : lifted641, max : lifted643}) + } + 31 => { + + let array667 : Array[@types.UnionBranch] = []; + for index668 = 0; index668 < (mbt_ffi_load32((iter_base) + 12)); index668 = index668 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index668 * 92) + + let result644 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted653 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result645 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result645) + } + 1 => { + + let result646 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result646) + } + 2 => { + + let result647 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result647) + } + 3 => { + + let result648 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result648) + } + 4 => { + + let result649 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted651 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result650 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result650) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result649, literal : lifted651}) + } + 5 => { + + let result652 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result652) + } + _ => panic() + } + + let lifted655 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result654 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result654) + } + _ => panic() + } + + let array657 : Array[String] = []; + for index658 = 0; index658 < (mbt_ffi_load32((iter_base) + 52)); index658 = index658 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index658 * 8) + + let result656 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array657.push(result656) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array660 : Array[String] = []; + for index661 = 0; index661 < (mbt_ffi_load32((iter_base) + 60)); index661 = index661 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index661 * 8) + + let result659 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array660.push(result659) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted663 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result662 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result662) + } + _ => panic() + } + + let lifted666 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted665 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result664 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result664) + } + _ => panic() + } + + Option::Some(lifted665) + } + _ => panic() + } + + array667.push(@types.UnionBranch::{tag : result644, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted653, metadata : @types.MetadataEnvelope::{doc : lifted655, aliases : array657, examples : array660, deprecated : lifted663, role : lifted666}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array667}) + } + 32 => { + + let lifted670 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result669 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result669) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted670}) + } + 33 => { + + let lifted672 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result671 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result671) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted672}) + } + 34 => { + + let lifted673 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted673) + } + 35 => { + + let lifted674 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted674) + } + _ => panic() + } + + let lifted677 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result676 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result676) + } + _ => panic() + } + + let array679 : Array[String] = []; + for index680 = 0; index680 < (mbt_ffi_load32((iter_base) + 104)); index680 = index680 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index680 * 8) + + let result678 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array679.push(result678) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array682 : Array[String] = []; + for index683 = 0; index683 < (mbt_ffi_load32((iter_base) + 112)); index683 = index683 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index683 * 8) + + let result681 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array682.push(result681) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted685 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result684 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result684) + } + _ => panic() + } + + let lifted688 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted687 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result686 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result686) + } + _ => panic() + } + + Option::Some(lifted687) + } + _ => panic() + } + + array689.push(@types.SchemaTypeNode::{body : lifted675, metadata : @types.MetadataEnvelope::{doc : lifted677, aliases : array679, examples : array682, deprecated : lifted685, role : lifted688}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array694 : Array[@types.SchemaTypeDef] = []; + for index695 = 0; index695 < (mbt_ffi_load32((iter_base) + 48)); index695 = index695 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index695 * 24) + + let result691 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted693 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result692 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result692) + } + _ => panic() + } + + array694.push(@types.SchemaTypeDef::{id : result691, name : lifted693, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array725 : Array[@types.SchemaValueNode] = []; + for index726 = 0; index726 < (mbt_ffi_load32((iter_base) + 60)); index726 = index726 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index726 * 32) + + let lifted724 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result696 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result696) + } + 13 => { + + let array697 : Array[Int] = []; + for index698 = 0; index698 < (mbt_ffi_load32((iter_base) + 12)); index698 = index698 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index698 * 4) + + array697.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array697) + } + 14 => { + + let lifted699 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted699}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array700 : Array[Bool] = []; + for index701 = 0; index701 < (mbt_ffi_load32((iter_base) + 12)); index701 = index701 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index701 * 1) + + array700.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array700) + } + 17 => { + + let array702 : Array[Int] = []; + for index703 = 0; index703 < (mbt_ffi_load32((iter_base) + 12)); index703 = index703 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index703 * 4) + + array702.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array702) + } + 18 => { + + let array704 : Array[Int] = []; + for index705 = 0; index705 < (mbt_ffi_load32((iter_base) + 12)); index705 = index705 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index705 * 4) + + array704.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array704) + } + 19 => { + + let array706 : Array[Int] = []; + for index707 = 0; index707 < (mbt_ffi_load32((iter_base) + 12)); index707 = index707 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index707 * 4) + + array706.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array706) + } + 20 => { + + let array708 : Array[@types.MapEntry] = []; + for index709 = 0; index709 < (mbt_ffi_load32((iter_base) + 12)); index709 = index709 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index709 * 8) + + array708.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array708) + } + 21 => { + + let lifted710 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted710) + } + 22 => { + + let lifted713 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted711 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted711) + } + 1 => { + + let lifted712 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted712) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted713) + } + 23 => { + + let result714 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted716 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result715 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result715) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result714, language : lifted716}) + } + 24 => { + + let result717 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted719 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result718 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result718) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result717, mime_type : lifted719}) + } + 25 => { + + let result720 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result720) + } + 26 => { + + let result721 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result721) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result722 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result722}) + } + 30 => { + + let result723 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result723, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array725.push(lifted724) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array689, defs : array694, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array725, root : mbt_ffi_load32((iter_base) + 64)}}) + } + _ => panic() + } + + PublicOplogEntry::End(EndParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), response : lifted727, forced_commit : (mbt_ffi_load8_u((iter_base) + 68) != 0)}) + } + 3 => { + + let lifted962 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let array924 : Array[@types.SchemaTypeNode] = []; + for index925 = 0; index925 < (mbt_ffi_load32((iter_base) + 40)); index925 = index925 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index925 * 144) + + let lifted910 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted734 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted729 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted728 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted728) + } + _ => panic() + } + + let lifted731 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted730 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted730) + } + _ => panic() + } + + let lifted733 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result732 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result732) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted729, max : lifted731, unit : lifted733}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted734) + } + 3 => { + + let lifted741 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted736 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted735 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted735) + } + _ => panic() + } + + let lifted738 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted737 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted737) + } + _ => panic() + } + + let lifted740 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result739 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result739) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted736, max : lifted738, unit : lifted740}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted741) + } + 4 => { + + let lifted748 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted743 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted742 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted742) + } + _ => panic() + } + + let lifted745 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted744 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted744) + } + _ => panic() + } + + let lifted747 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result746 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result746) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted743, max : lifted745, unit : lifted747}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted748) + } + 5 => { + + let lifted755 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted750 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted749 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted749) + } + _ => panic() + } + + let lifted752 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted751 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted751) + } + _ => panic() + } + + let lifted754 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result753 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result753) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted750, max : lifted752, unit : lifted754}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted755) + } + 6 => { + + let lifted762 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted757 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted756 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted756) + } + _ => panic() + } + + let lifted759 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted758 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted758) + } + _ => panic() + } + + let lifted761 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result760 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result760) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted757, max : lifted759, unit : lifted761}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted762) + } + 7 => { + + let lifted769 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted764 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted763 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted763) + } + _ => panic() + } + + let lifted766 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted765 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted765) + } + _ => panic() + } + + let lifted768 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result767 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result767) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted764, max : lifted766, unit : lifted768}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted769) + } + 8 => { + + let lifted776 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted771 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted770 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted770) + } + _ => panic() + } + + let lifted773 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted772 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted772) + } + _ => panic() + } + + let lifted775 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result774 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result774) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted771, max : lifted773, unit : lifted775}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted776) + } + 9 => { + + let lifted783 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted778 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted777 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted777) + } + _ => panic() + } + + let lifted780 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted779 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted779) + } + _ => panic() + } + + let lifted782 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result781 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result781) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted778, max : lifted780, unit : lifted782}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted783) + } + 10 => { + + let lifted790 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted785 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted784 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted784) + } + _ => panic() + } + + let lifted787 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted786 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted786) + } + _ => panic() + } + + let lifted789 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result788 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result788) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted785, max : lifted787, unit : lifted789}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted790) + } + 11 => { + + let lifted797 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted792 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted791 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted791) + } + _ => panic() + } + + let lifted794 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted793 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted793) + } + _ => panic() + } + + let lifted796 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result795 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result795) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted792, max : lifted794, unit : lifted796}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted797) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array812 : Array[@types.NamedFieldType] = []; + for index813 = 0; index813 < (mbt_ffi_load32((iter_base) + 12)); index813 = index813 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index813 * 68) + + let result798 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted800 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result799 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result799) + } + _ => panic() + } + + let array802 : Array[String] = []; + for index803 = 0; index803 < (mbt_ffi_load32((iter_base) + 28)); index803 = index803 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index803 * 8) + + let result801 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array802.push(result801) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array805 : Array[String] = []; + for index806 = 0; index806 < (mbt_ffi_load32((iter_base) + 36)); index806 = index806 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index806 * 8) + + let result804 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array805.push(result804) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted808 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result807 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result807) + } + _ => panic() + } + + let lifted811 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted810 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result809 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result809) + } + _ => panic() + } + + Option::Some(lifted810) + } + _ => panic() + } + + array812.push(@types.NamedFieldType::{name : result798, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted800, aliases : array802, examples : array805, deprecated : lifted808, role : lifted811}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array812) + } + 15 => { + + let array829 : Array[@types.VariantCaseType] = []; + for index830 = 0; index830 < (mbt_ffi_load32((iter_base) + 12)); index830 = index830 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index830 * 72) + + let result814 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted815 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted817 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result816 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result816) + } + _ => panic() + } + + let array819 : Array[String] = []; + for index820 = 0; index820 < (mbt_ffi_load32((iter_base) + 32)); index820 = index820 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index820 * 8) + + let result818 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array819.push(result818) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array822 : Array[String] = []; + for index823 = 0; index823 < (mbt_ffi_load32((iter_base) + 40)); index823 = index823 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index823 * 8) + + let result821 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array822.push(result821) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted825 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result824 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result824) + } + _ => panic() + } + + let lifted828 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted827 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result826 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result826) + } + _ => panic() + } + + Option::Some(lifted827) + } + _ => panic() + } + + array829.push(@types.VariantCaseType::{name : result814, payload : lifted815, metadata : @types.MetadataEnvelope::{doc : lifted817, aliases : array819, examples : array822, deprecated : lifted825, role : lifted828}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array829) + } + 16 => { + + let array832 : Array[String] = []; + for index833 = 0; index833 < (mbt_ffi_load32((iter_base) + 12)); index833 = index833 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index833 * 8) + + let result831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array832.push(result831) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array832) + } + 17 => { + + let array835 : Array[String] = []; + for index836 = 0; index836 < (mbt_ffi_load32((iter_base) + 12)); index836 = index836 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index836 * 8) + + let result834 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array835.push(result834) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array835) + } + 18 => { + + let array837 : Array[Int] = []; + for index838 = 0; index838 < (mbt_ffi_load32((iter_base) + 12)); index838 = index838 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index838 * 4) + + array837.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array837) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted839 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted840 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted839, err : lifted840}) + } + 24 => { + + let lifted844 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array842 : Array[String] = []; + for index843 = 0; index843 < (mbt_ffi_load32((iter_base) + 16)); index843 = index843 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index843 * 8) + + let result841 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array842.push(result841) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array842) + } + _ => panic() + } + + let lifted845 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted846 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted848 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result847 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result847) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted844, min_length : lifted845, max_length : lifted846, regex : lifted848}) + } + 25 => { + + let lifted852 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array850 : Array[String] = []; + for index851 = 0; index851 < (mbt_ffi_load32((iter_base) + 16)); index851 = index851 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index851 * 8) + + let result849 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array850.push(result849) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array850) + } + _ => panic() + } + + let lifted853 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted854 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted852, min_bytes : lifted853, max_bytes : lifted854}) + } + 26 => { + + let lifted858 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array856 : Array[String] = []; + for index857 = 0; index857 < (mbt_ffi_load32((iter_base) + 20)); index857 = index857 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index857 * 8) + + let result855 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array856.push(result855) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array856) + } + _ => panic() + } + + let lifted862 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array860 : Array[String] = []; + for index861 = 0; index861 < (mbt_ffi_load32((iter_base) + 32)); index861 = index861 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index861 * 8) + + let result859 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array860.push(result859) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array860) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted858, allowed_extensions : lifted862}) + } + 27 => { + + let lifted866 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array864 : Array[String] = []; + for index865 = 0; index865 < (mbt_ffi_load32((iter_base) + 16)); index865 = index865 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index865 * 8) + + let result863 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array864.push(result863) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array864) + } + _ => panic() + } + + let lifted870 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array868 : Array[String] = []; + for index869 = 0; index869 < (mbt_ffi_load32((iter_base) + 28)); index869 = index869 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index869 * 8) + + let result867 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array868.push(result867) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array868) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted866, allowed_hosts : lifted870}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result871 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array873 : Array[String] = []; + for index874 = 0; index874 < (mbt_ffi_load32((iter_base) + 20)); index874 = index874 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index874 * 8) + + let result872 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array873.push(result872) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted876 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result875 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result875}) + } + _ => panic() + } + + let lifted878 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result877 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result877}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result871, allowed_suffixes : array873, min : lifted876, max : lifted878}) + } + 31 => { + + let array902 : Array[@types.UnionBranch] = []; + for index903 = 0; index903 < (mbt_ffi_load32((iter_base) + 12)); index903 = index903 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index903 * 92) + + let result879 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted888 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result880 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result880) + } + 1 => { + + let result881 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result881) + } + 2 => { + + let result882 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result882) + } + 3 => { + + let result883 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result883) + } + 4 => { + + let result884 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted886 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result885 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result885) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result884, literal : lifted886}) + } + 5 => { + + let result887 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result887) + } + _ => panic() + } + + let lifted890 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result889 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result889) + } + _ => panic() + } + + let array892 : Array[String] = []; + for index893 = 0; index893 < (mbt_ffi_load32((iter_base) + 52)); index893 = index893 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index893 * 8) + + let result891 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array892.push(result891) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array895 : Array[String] = []; + for index896 = 0; index896 < (mbt_ffi_load32((iter_base) + 60)); index896 = index896 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index896 * 8) + + let result894 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array895.push(result894) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted898 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result897 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result897) + } + _ => panic() + } + + let lifted901 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted900 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result899 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result899) + } + _ => panic() + } + + Option::Some(lifted900) + } + _ => panic() + } + + array902.push(@types.UnionBranch::{tag : result879, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted888, metadata : @types.MetadataEnvelope::{doc : lifted890, aliases : array892, examples : array895, deprecated : lifted898, role : lifted901}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array902}) + } + 32 => { + + let lifted905 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result904 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result904) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted905}) + } + 33 => { + + let lifted907 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result906 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result906) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted907}) + } + 34 => { + + let lifted908 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted908) + } + 35 => { + + let lifted909 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted909) + } + _ => panic() + } + + let lifted912 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result911 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result911) + } + _ => panic() + } + + let array914 : Array[String] = []; + for index915 = 0; index915 < (mbt_ffi_load32((iter_base) + 104)); index915 = index915 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index915 * 8) + + let result913 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array914.push(result913) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array917 : Array[String] = []; + for index918 = 0; index918 < (mbt_ffi_load32((iter_base) + 112)); index918 = index918 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index918 * 8) + + let result916 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array917.push(result916) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted920 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result919 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result919) + } + _ => panic() + } + + let lifted923 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted922 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result921 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result921) + } + _ => panic() + } + + Option::Some(lifted922) + } + _ => panic() + } + + array924.push(@types.SchemaTypeNode::{body : lifted910, metadata : @types.MetadataEnvelope::{doc : lifted912, aliases : array914, examples : array917, deprecated : lifted920, role : lifted923}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array929 : Array[@types.SchemaTypeDef] = []; + for index930 = 0; index930 < (mbt_ffi_load32((iter_base) + 48)); index930 = index930 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index930 * 24) + + let result926 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted928 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result927 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result927) + } + _ => panic() + } + + array929.push(@types.SchemaTypeDef::{id : result926, name : lifted928, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array960 : Array[@types.SchemaValueNode] = []; + for index961 = 0; index961 < (mbt_ffi_load32((iter_base) + 60)); index961 = index961 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index961 * 32) + + let lifted959 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result931 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result931) + } + 13 => { + + let array932 : Array[Int] = []; + for index933 = 0; index933 < (mbt_ffi_load32((iter_base) + 12)); index933 = index933 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index933 * 4) + + array932.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array932) + } + 14 => { + + let lifted934 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted934}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array935 : Array[Bool] = []; + for index936 = 0; index936 < (mbt_ffi_load32((iter_base) + 12)); index936 = index936 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index936 * 1) + + array935.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array935) + } + 17 => { + + let array937 : Array[Int] = []; + for index938 = 0; index938 < (mbt_ffi_load32((iter_base) + 12)); index938 = index938 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index938 * 4) + + array937.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array937) + } + 18 => { + + let array939 : Array[Int] = []; + for index940 = 0; index940 < (mbt_ffi_load32((iter_base) + 12)); index940 = index940 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index940 * 4) + + array939.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array939) + } + 19 => { + + let array941 : Array[Int] = []; + for index942 = 0; index942 < (mbt_ffi_load32((iter_base) + 12)); index942 = index942 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index942 * 4) + + array941.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array941) + } + 20 => { + + let array943 : Array[@types.MapEntry] = []; + for index944 = 0; index944 < (mbt_ffi_load32((iter_base) + 12)); index944 = index944 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index944 * 8) + + array943.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array943) + } + 21 => { + + let lifted945 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted945) + } + 22 => { + + let lifted948 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted946 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted946) + } + 1 => { + + let lifted947 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted947) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted948) + } + 23 => { + + let result949 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted951 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result950 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result950) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result949, language : lifted951}) + } + 24 => { + + let result952 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted954 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result953 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result953) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result952, mime_type : lifted954}) + } + 25 => { + + let result955 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result955) + } + 26 => { + + let result956 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result956) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result957 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result957}) + } + 30 => { + + let result958 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result958, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array960.push(lifted959) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array924, defs : array929, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array960, root : mbt_ffi_load32((iter_base) + 64)}}) + } + _ => panic() + } + + PublicOplogEntry::Cancelled(CancelledParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), partial : lifted962}) + } + 4 => { + + let lifted1475 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + let result963 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let array1160 : Array[@types.SchemaTypeNode] = []; + for index1161 = 0; index1161 < (mbt_ffi_load32((iter_base) + 44)); index1161 = index1161 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 40)) + (index1161 * 144) + + let lifted1146 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted970 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted965 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted964 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted964) + } + _ => panic() + } + + let lifted967 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted966 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted966) + } + _ => panic() + } + + let lifted969 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result968 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result968) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted965, max : lifted967, unit : lifted969}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted970) + } + 3 => { + + let lifted977 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted972 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted971 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted971) + } + _ => panic() + } + + let lifted974 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted973 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted973) + } + _ => panic() + } + + let lifted976 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result975 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result975) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted972, max : lifted974, unit : lifted976}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted977) + } + 4 => { + + let lifted984 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted979 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted978 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted978) + } + _ => panic() + } + + let lifted981 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted980 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted980) + } + _ => panic() + } + + let lifted983 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result982 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result982) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted979, max : lifted981, unit : lifted983}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted984) + } + 5 => { + + let lifted991 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted986 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted985 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted985) + } + _ => panic() + } + + let lifted988 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted987 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted987) + } + _ => panic() + } + + let lifted990 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result989 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result989) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted986, max : lifted988, unit : lifted990}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted991) + } + 6 => { + + let lifted998 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted993 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted992 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted992) + } + _ => panic() + } + + let lifted995 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted994 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted994) + } + _ => panic() + } + + let lifted997 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result996 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result996) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted993, max : lifted995, unit : lifted997}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted998) + } + 7 => { + + let lifted1005 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1000 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted999 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted999) + } + _ => panic() + } + + let lifted1002 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1001 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1001) + } + _ => panic() + } + + let lifted1004 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1003 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1003) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1000, max : lifted1002, unit : lifted1004}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1005) + } + 8 => { + + let lifted1012 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1007 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1006 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1006) + } + _ => panic() + } + + let lifted1009 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1008 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1008) + } + _ => panic() + } + + let lifted1011 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1010 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1010) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1007, max : lifted1009, unit : lifted1011}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1012) + } + 9 => { + + let lifted1019 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1014 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1013 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1013) + } + _ => panic() + } + + let lifted1016 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1015 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1015) + } + _ => panic() + } + + let lifted1018 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1017 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1017) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1014, max : lifted1016, unit : lifted1018}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1019) + } + 10 => { + + let lifted1026 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1021 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1020 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1020) + } + _ => panic() + } + + let lifted1023 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1022 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1022) + } + _ => panic() + } + + let lifted1025 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1024 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1024) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1021, max : lifted1023, unit : lifted1025}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1026) + } + 11 => { + + let lifted1033 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1028 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1027 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1027) + } + _ => panic() + } + + let lifted1030 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1029 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1029) + } + _ => panic() + } + + let lifted1032 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1031 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1031) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1028, max : lifted1030, unit : lifted1032}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1033) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1048 : Array[@types.NamedFieldType] = []; + for index1049 = 0; index1049 < (mbt_ffi_load32((iter_base) + 12)); index1049 = index1049 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1049 * 68) + + let result1034 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1036 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1035 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1035) + } + _ => panic() + } + + let array1038 : Array[String] = []; + for index1039 = 0; index1039 < (mbt_ffi_load32((iter_base) + 28)); index1039 = index1039 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1039 * 8) + + let result1037 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1038.push(result1037) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1041 : Array[String] = []; + for index1042 = 0; index1042 < (mbt_ffi_load32((iter_base) + 36)); index1042 = index1042 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1042 * 8) + + let result1040 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1041.push(result1040) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1044 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1043 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1043) + } + _ => panic() + } + + let lifted1047 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1046 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1045 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1045) + } + _ => panic() + } + + Option::Some(lifted1046) + } + _ => panic() + } + + array1048.push(@types.NamedFieldType::{name : result1034, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1036, aliases : array1038, examples : array1041, deprecated : lifted1044, role : lifted1047}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1048) + } + 15 => { + + let array1065 : Array[@types.VariantCaseType] = []; + for index1066 = 0; index1066 < (mbt_ffi_load32((iter_base) + 12)); index1066 = index1066 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1066 * 72) + + let result1050 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1051 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1053 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1052 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1052) + } + _ => panic() + } + + let array1055 : Array[String] = []; + for index1056 = 0; index1056 < (mbt_ffi_load32((iter_base) + 32)); index1056 = index1056 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1056 * 8) + + let result1054 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1055.push(result1054) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1058 : Array[String] = []; + for index1059 = 0; index1059 < (mbt_ffi_load32((iter_base) + 40)); index1059 = index1059 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1059 * 8) + + let result1057 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1058.push(result1057) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1061 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1060 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1060) + } + _ => panic() + } + + let lifted1064 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1063 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1062 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1062) + } + _ => panic() + } + + Option::Some(lifted1063) + } + _ => panic() + } + + array1065.push(@types.VariantCaseType::{name : result1050, payload : lifted1051, metadata : @types.MetadataEnvelope::{doc : lifted1053, aliases : array1055, examples : array1058, deprecated : lifted1061, role : lifted1064}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1065) + } + 16 => { + + let array1068 : Array[String] = []; + for index1069 = 0; index1069 < (mbt_ffi_load32((iter_base) + 12)); index1069 = index1069 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1069 * 8) + + let result1067 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1068.push(result1067) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1068) + } + 17 => { + + let array1071 : Array[String] = []; + for index1072 = 0; index1072 < (mbt_ffi_load32((iter_base) + 12)); index1072 = index1072 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1072 * 8) + + let result1070 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1071.push(result1070) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1071) + } + 18 => { + + let array1073 : Array[Int] = []; + for index1074 = 0; index1074 < (mbt_ffi_load32((iter_base) + 12)); index1074 = index1074 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1074 * 4) + + array1073.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1073) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1075 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1076 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1075, err : lifted1076}) + } + 24 => { + + let lifted1080 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1078 : Array[String] = []; + for index1079 = 0; index1079 < (mbt_ffi_load32((iter_base) + 16)); index1079 = index1079 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1079 * 8) + + let result1077 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1078.push(result1077) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1078) + } + _ => panic() + } + + let lifted1081 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1082 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1084 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1083 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1083) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1080, min_length : lifted1081, max_length : lifted1082, regex : lifted1084}) + } + 25 => { + + let lifted1088 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1086 : Array[String] = []; + for index1087 = 0; index1087 < (mbt_ffi_load32((iter_base) + 16)); index1087 = index1087 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1087 * 8) + + let result1085 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1086.push(result1085) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1086) + } + _ => panic() + } + + let lifted1089 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1090 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1088, min_bytes : lifted1089, max_bytes : lifted1090}) + } + 26 => { + + let lifted1094 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1092 : Array[String] = []; + for index1093 = 0; index1093 < (mbt_ffi_load32((iter_base) + 20)); index1093 = index1093 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1093 * 8) + + let result1091 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1092.push(result1091) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1092) + } + _ => panic() + } + + let lifted1098 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1096 : Array[String] = []; + for index1097 = 0; index1097 < (mbt_ffi_load32((iter_base) + 32)); index1097 = index1097 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1097 * 8) + + let result1095 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1096.push(result1095) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1096) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1094, allowed_extensions : lifted1098}) + } + 27 => { + + let lifted1102 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1100 : Array[String] = []; + for index1101 = 0; index1101 < (mbt_ffi_load32((iter_base) + 16)); index1101 = index1101 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1101 * 8) + + let result1099 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1100.push(result1099) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1100) + } + _ => panic() + } + + let lifted1106 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1104 : Array[String] = []; + for index1105 = 0; index1105 < (mbt_ffi_load32((iter_base) + 28)); index1105 = index1105 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1105 * 8) + + let result1103 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1104.push(result1103) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1104) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1102, allowed_hosts : lifted1106}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1107 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1109 : Array[String] = []; + for index1110 = 0; index1110 < (mbt_ffi_load32((iter_base) + 20)); index1110 = index1110 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1110 * 8) + + let result1108 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1109.push(result1108) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1112 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1111 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1111}) + } + _ => panic() + } + + let lifted1114 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1113 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1113}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1107, allowed_suffixes : array1109, min : lifted1112, max : lifted1114}) + } + 31 => { + + let array1138 : Array[@types.UnionBranch] = []; + for index1139 = 0; index1139 < (mbt_ffi_load32((iter_base) + 12)); index1139 = index1139 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1139 * 92) + + let result1115 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1124 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1116 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1116) + } + 1 => { + + let result1117 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1117) + } + 2 => { + + let result1118 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1118) + } + 3 => { + + let result1119 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1119) + } + 4 => { + + let result1120 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1122 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1121 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1121) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1120, literal : lifted1122}) + } + 5 => { + + let result1123 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1123) + } + _ => panic() + } + + let lifted1126 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1125 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1125) + } + _ => panic() + } + + let array1128 : Array[String] = []; + for index1129 = 0; index1129 < (mbt_ffi_load32((iter_base) + 52)); index1129 = index1129 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1129 * 8) + + let result1127 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1128.push(result1127) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1131 : Array[String] = []; + for index1132 = 0; index1132 < (mbt_ffi_load32((iter_base) + 60)); index1132 = index1132 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1132 * 8) + + let result1130 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1131.push(result1130) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1134 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1133 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1133) + } + _ => panic() + } + + let lifted1137 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1136 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1135 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1135) + } + _ => panic() + } + + Option::Some(lifted1136) + } + _ => panic() + } + + array1138.push(@types.UnionBranch::{tag : result1115, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1124, metadata : @types.MetadataEnvelope::{doc : lifted1126, aliases : array1128, examples : array1131, deprecated : lifted1134, role : lifted1137}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1138}) + } + 32 => { + + let lifted1141 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1140 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1140) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1141}) + } + 33 => { + + let lifted1143 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1142 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1142) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1143}) + } + 34 => { + + let lifted1144 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1144) + } + 35 => { + + let lifted1145 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1145) + } + _ => panic() + } + + let lifted1148 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1147 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1147) + } + _ => panic() + } + + let array1150 : Array[String] = []; + for index1151 = 0; index1151 < (mbt_ffi_load32((iter_base) + 104)); index1151 = index1151 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1151 * 8) + + let result1149 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1150.push(result1149) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1153 : Array[String] = []; + for index1154 = 0; index1154 < (mbt_ffi_load32((iter_base) + 112)); index1154 = index1154 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1154 * 8) + + let result1152 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1153.push(result1152) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1156 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1155 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1155) + } + _ => panic() + } + + let lifted1159 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1158 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1157 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1157) + } + _ => panic() + } + + Option::Some(lifted1158) + } + _ => panic() + } + + array1160.push(@types.SchemaTypeNode::{body : lifted1146, metadata : @types.MetadataEnvelope::{doc : lifted1148, aliases : array1150, examples : array1153, deprecated : lifted1156, role : lifted1159}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 40)) + + let array1165 : Array[@types.SchemaTypeDef] = []; + for index1166 = 0; index1166 < (mbt_ffi_load32((iter_base) + 52)); index1166 = index1166 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1166 * 24) + + let result1162 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1164 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1163 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1163) + } + _ => panic() + } + + array1165.push(@types.SchemaTypeDef::{id : result1162, name : lifted1164, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1196 : Array[@types.SchemaValueNode] = []; + for index1197 = 0; index1197 < (mbt_ffi_load32((iter_base) + 64)); index1197 = index1197 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index1197 * 32) + + let lifted1195 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1167 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1167) + } + 13 => { + + let array1168 : Array[Int] = []; + for index1169 = 0; index1169 < (mbt_ffi_load32((iter_base) + 12)); index1169 = index1169 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1169 * 4) + + array1168.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1168) + } + 14 => { + + let lifted1170 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1170}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1171 : Array[Bool] = []; + for index1172 = 0; index1172 < (mbt_ffi_load32((iter_base) + 12)); index1172 = index1172 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1172 * 1) + + array1171.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1171) + } + 17 => { + + let array1173 : Array[Int] = []; + for index1174 = 0; index1174 < (mbt_ffi_load32((iter_base) + 12)); index1174 = index1174 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1174 * 4) + + array1173.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1173) + } + 18 => { + + let array1175 : Array[Int] = []; + for index1176 = 0; index1176 < (mbt_ffi_load32((iter_base) + 12)); index1176 = index1176 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1176 * 4) + + array1175.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1175) + } + 19 => { + + let array1177 : Array[Int] = []; + for index1178 = 0; index1178 < (mbt_ffi_load32((iter_base) + 12)); index1178 = index1178 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1178 * 4) + + array1177.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1177) + } + 20 => { + + let array1179 : Array[@types.MapEntry] = []; + for index1180 = 0; index1180 < (mbt_ffi_load32((iter_base) + 12)); index1180 = index1180 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1180 * 8) + + array1179.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1179) + } + 21 => { + + let lifted1181 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1181) + } + 22 => { + + let lifted1184 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1182 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1182) + } + 1 => { + + let lifted1183 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1183) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1184) + } + 23 => { + + let result1185 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1187 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1186 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1186) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1185, language : lifted1187}) + } + 24 => { + + let result1188 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1190 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1189 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1189) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1188, mime_type : lifted1190}) + } + 25 => { + + let result1191 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1191) + } + 26 => { + + let result1192 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1192) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1193 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1193}) + } + 30 => { + + let result1194 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1194, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1196.push(lifted1195) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + let result1198 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 72), mbt_ffi_load32((iter_base) + 76)) + + let array1200 : Array[String] = []; + for index1201 = 0; index1201 < (mbt_ffi_load32((iter_base) + 84)); index1201 = index1201 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 80)) + (index1201 * 8) + + let result1199 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1200.push(result1199) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 80)) + + let array1215 : Array[Array[SpanData]] = []; + for index1216 = 0; index1216 < (mbt_ffi_load32((iter_base) + 92)); index1216 = index1216 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index1216 * 8) + + let array1213 : Array[SpanData] = []; + for index1214 = 0; index1214 < (mbt_ffi_load32((iter_base) + 4)); index1214 = index1214 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index1214 * 80) + + let lifted1212 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result1202 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1204 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result1203 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result1203) + } + _ => panic() + } + + let lifted1205 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array1209 : Array[@context.Attribute] = []; + for index1210 = 0; index1210 < (mbt_ffi_load32((iter_base) + 68)); index1210 = index1210 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index1210 * 20) + + let result1206 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1208 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result1207 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result1207) + } + _ => panic() + } + + array1209.push(@context.Attribute::{key : result1206, value : lifted1208}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result1202, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted1204, linked_context : lifted1205, attributes : array1209, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result1211 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result1211}) + } + _ => panic() + } + + array1213.push(lifted1212) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array1215.push(array1213) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + AgentInvocation::AgentInitialization(AgentInitializationParameters::{idempotency_key : result963, constructor_parameters : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1160, defs : array1165, root : mbt_ffi_load32((iter_base) + 56)}, value : @types.SchemaValueTree::{value_nodes : array1196, root : mbt_ffi_load32((iter_base) + 68)}}, trace_id : result1198, trace_states : array1200, invocation_context : array1215}) + } + 1 => { + + let result1217 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result1218 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let array1415 : Array[@types.SchemaTypeNode] = []; + for index1416 = 0; index1416 < (mbt_ffi_load32((iter_base) + 52)); index1416 = index1416 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1416 * 144) + + let lifted1401 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1225 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1220 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1219 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1219) + } + _ => panic() + } + + let lifted1222 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1221 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1221) + } + _ => panic() + } + + let lifted1224 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1223 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1223) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1220, max : lifted1222, unit : lifted1224}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1225) + } + 3 => { + + let lifted1232 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1227 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1226 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1226) + } + _ => panic() + } + + let lifted1229 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1228 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1228) + } + _ => panic() + } + + let lifted1231 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1230 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1230) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1227, max : lifted1229, unit : lifted1231}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1232) + } + 4 => { + + let lifted1239 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1234 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1233 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1233) + } + _ => panic() + } + + let lifted1236 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1235 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1235) + } + _ => panic() + } + + let lifted1238 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1237 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1237) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1234, max : lifted1236, unit : lifted1238}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1239) + } + 5 => { + + let lifted1246 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1241 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1240 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1240) + } + _ => panic() + } + + let lifted1243 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1242 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1242) + } + _ => panic() + } + + let lifted1245 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1244 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1244) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1241, max : lifted1243, unit : lifted1245}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1246) + } + 6 => { + + let lifted1253 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1248 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1247 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1247) + } + _ => panic() + } + + let lifted1250 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1249 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1249) + } + _ => panic() + } + + let lifted1252 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1251 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1251) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1248, max : lifted1250, unit : lifted1252}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1253) + } + 7 => { + + let lifted1260 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1255 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1254 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1254) + } + _ => panic() + } + + let lifted1257 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1256 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1256) + } + _ => panic() + } + + let lifted1259 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1258 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1258) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1255, max : lifted1257, unit : lifted1259}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1260) + } + 8 => { + + let lifted1267 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1262 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1261 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1261) + } + _ => panic() + } + + let lifted1264 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1263 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1263) + } + _ => panic() + } + + let lifted1266 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1265 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1265) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1262, max : lifted1264, unit : lifted1266}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1267) + } + 9 => { + + let lifted1274 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1269 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1268 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1268) + } + _ => panic() + } + + let lifted1271 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1270 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1270) + } + _ => panic() + } + + let lifted1273 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1272 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1272) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1269, max : lifted1271, unit : lifted1273}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1274) + } + 10 => { + + let lifted1281 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1276 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1275 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1275) + } + _ => panic() + } + + let lifted1278 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1277 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1277) + } + _ => panic() + } + + let lifted1280 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1279 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1279) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1276, max : lifted1278, unit : lifted1280}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1281) + } + 11 => { + + let lifted1288 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1283 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1282 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1282) + } + _ => panic() + } + + let lifted1285 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1284 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1284) + } + _ => panic() + } + + let lifted1287 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1286 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1286) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1283, max : lifted1285, unit : lifted1287}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1288) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1303 : Array[@types.NamedFieldType] = []; + for index1304 = 0; index1304 < (mbt_ffi_load32((iter_base) + 12)); index1304 = index1304 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1304 * 68) + + let result1289 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1291 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1290 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1290) + } + _ => panic() + } + + let array1293 : Array[String] = []; + for index1294 = 0; index1294 < (mbt_ffi_load32((iter_base) + 28)); index1294 = index1294 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1294 * 8) + + let result1292 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1293.push(result1292) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1296 : Array[String] = []; + for index1297 = 0; index1297 < (mbt_ffi_load32((iter_base) + 36)); index1297 = index1297 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1297 * 8) + + let result1295 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1296.push(result1295) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1299 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1298 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1298) + } + _ => panic() + } + + let lifted1302 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1301 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1300 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1300) + } + _ => panic() + } + + Option::Some(lifted1301) + } + _ => panic() + } + + array1303.push(@types.NamedFieldType::{name : result1289, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1291, aliases : array1293, examples : array1296, deprecated : lifted1299, role : lifted1302}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1303) + } + 15 => { + + let array1320 : Array[@types.VariantCaseType] = []; + for index1321 = 0; index1321 < (mbt_ffi_load32((iter_base) + 12)); index1321 = index1321 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1321 * 72) + + let result1305 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1306 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1308 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1307 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1307) + } + _ => panic() + } + + let array1310 : Array[String] = []; + for index1311 = 0; index1311 < (mbt_ffi_load32((iter_base) + 32)); index1311 = index1311 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1311 * 8) + + let result1309 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1310.push(result1309) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1313 : Array[String] = []; + for index1314 = 0; index1314 < (mbt_ffi_load32((iter_base) + 40)); index1314 = index1314 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1314 * 8) + + let result1312 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1313.push(result1312) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1316 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1315 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1315) + } + _ => panic() + } + + let lifted1319 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1318 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1317 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1317) + } + _ => panic() + } + + Option::Some(lifted1318) + } + _ => panic() + } + + array1320.push(@types.VariantCaseType::{name : result1305, payload : lifted1306, metadata : @types.MetadataEnvelope::{doc : lifted1308, aliases : array1310, examples : array1313, deprecated : lifted1316, role : lifted1319}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1320) + } + 16 => { + + let array1323 : Array[String] = []; + for index1324 = 0; index1324 < (mbt_ffi_load32((iter_base) + 12)); index1324 = index1324 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1324 * 8) + + let result1322 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1323.push(result1322) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1323) + } + 17 => { + + let array1326 : Array[String] = []; + for index1327 = 0; index1327 < (mbt_ffi_load32((iter_base) + 12)); index1327 = index1327 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1327 * 8) + + let result1325 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1326.push(result1325) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1326) + } + 18 => { + + let array1328 : Array[Int] = []; + for index1329 = 0; index1329 < (mbt_ffi_load32((iter_base) + 12)); index1329 = index1329 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1329 * 4) + + array1328.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1328) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1330 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1331 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1330, err : lifted1331}) + } + 24 => { + + let lifted1335 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1333 : Array[String] = []; + for index1334 = 0; index1334 < (mbt_ffi_load32((iter_base) + 16)); index1334 = index1334 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1334 * 8) + + let result1332 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1333.push(result1332) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1333) + } + _ => panic() + } + + let lifted1336 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1337 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1339 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1338 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1338) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1335, min_length : lifted1336, max_length : lifted1337, regex : lifted1339}) + } + 25 => { + + let lifted1343 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1341 : Array[String] = []; + for index1342 = 0; index1342 < (mbt_ffi_load32((iter_base) + 16)); index1342 = index1342 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1342 * 8) + + let result1340 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1341.push(result1340) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1341) + } + _ => panic() + } + + let lifted1344 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1345 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1343, min_bytes : lifted1344, max_bytes : lifted1345}) + } + 26 => { + + let lifted1349 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1347 : Array[String] = []; + for index1348 = 0; index1348 < (mbt_ffi_load32((iter_base) + 20)); index1348 = index1348 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1348 * 8) + + let result1346 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1347.push(result1346) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1347) + } + _ => panic() + } + + let lifted1353 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1351 : Array[String] = []; + for index1352 = 0; index1352 < (mbt_ffi_load32((iter_base) + 32)); index1352 = index1352 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1352 * 8) + + let result1350 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1351.push(result1350) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1351) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1349, allowed_extensions : lifted1353}) + } + 27 => { + + let lifted1357 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1355 : Array[String] = []; + for index1356 = 0; index1356 < (mbt_ffi_load32((iter_base) + 16)); index1356 = index1356 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1356 * 8) + + let result1354 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1355.push(result1354) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1355) + } + _ => panic() + } + + let lifted1361 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1359 : Array[String] = []; + for index1360 = 0; index1360 < (mbt_ffi_load32((iter_base) + 28)); index1360 = index1360 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1360 * 8) + + let result1358 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1359.push(result1358) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1359) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1357, allowed_hosts : lifted1361}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1362 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1364 : Array[String] = []; + for index1365 = 0; index1365 < (mbt_ffi_load32((iter_base) + 20)); index1365 = index1365 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1365 * 8) + + let result1363 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1364.push(result1363) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1367 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1366 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1366}) + } + _ => panic() + } + + let lifted1369 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1368 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1368}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1362, allowed_suffixes : array1364, min : lifted1367, max : lifted1369}) + } + 31 => { + + let array1393 : Array[@types.UnionBranch] = []; + for index1394 = 0; index1394 < (mbt_ffi_load32((iter_base) + 12)); index1394 = index1394 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1394 * 92) + + let result1370 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1379 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1371 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1371) + } + 1 => { + + let result1372 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1372) + } + 2 => { + + let result1373 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1373) + } + 3 => { + + let result1374 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1374) + } + 4 => { + + let result1375 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1377 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1376 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1376) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1375, literal : lifted1377}) + } + 5 => { + + let result1378 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1378) + } + _ => panic() + } + + let lifted1381 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1380 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1380) + } + _ => panic() + } + + let array1383 : Array[String] = []; + for index1384 = 0; index1384 < (mbt_ffi_load32((iter_base) + 52)); index1384 = index1384 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1384 * 8) + + let result1382 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1383.push(result1382) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1386 : Array[String] = []; + for index1387 = 0; index1387 < (mbt_ffi_load32((iter_base) + 60)); index1387 = index1387 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1387 * 8) + + let result1385 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1386.push(result1385) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1389 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1388 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1388) + } + _ => panic() + } + + let lifted1392 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1391 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1390 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1390) + } + _ => panic() + } + + Option::Some(lifted1391) + } + _ => panic() + } + + array1393.push(@types.UnionBranch::{tag : result1370, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1379, metadata : @types.MetadataEnvelope::{doc : lifted1381, aliases : array1383, examples : array1386, deprecated : lifted1389, role : lifted1392}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1393}) + } + 32 => { + + let lifted1396 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1395 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1395) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1396}) + } + 33 => { + + let lifted1398 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1397 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1397) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1398}) + } + 34 => { + + let lifted1399 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1399) + } + 35 => { + + let lifted1400 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1400) + } + _ => panic() + } + + let lifted1403 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1402 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1402) + } + _ => panic() + } + + let array1405 : Array[String] = []; + for index1406 = 0; index1406 < (mbt_ffi_load32((iter_base) + 104)); index1406 = index1406 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1406 * 8) + + let result1404 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1405.push(result1404) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1408 : Array[String] = []; + for index1409 = 0; index1409 < (mbt_ffi_load32((iter_base) + 112)); index1409 = index1409 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1409 * 8) + + let result1407 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1408.push(result1407) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1411 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1410 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1410) + } + _ => panic() + } + + let lifted1414 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1413 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1412 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1412) + } + _ => panic() + } + + Option::Some(lifted1413) + } + _ => panic() + } + + array1415.push(@types.SchemaTypeNode::{body : lifted1401, metadata : @types.MetadataEnvelope::{doc : lifted1403, aliases : array1405, examples : array1408, deprecated : lifted1411, role : lifted1414}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1420 : Array[@types.SchemaTypeDef] = []; + for index1421 = 0; index1421 < (mbt_ffi_load32((iter_base) + 60)); index1421 = index1421 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1421 * 24) + + let result1417 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1419 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1418 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1418) + } + _ => panic() + } + + array1420.push(@types.SchemaTypeDef::{id : result1417, name : lifted1419, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let array1451 : Array[@types.SchemaValueNode] = []; + for index1452 = 0; index1452 < (mbt_ffi_load32((iter_base) + 72)); index1452 = index1452 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index1452 * 32) + + let lifted1450 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1422 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1422) + } + 13 => { + + let array1423 : Array[Int] = []; + for index1424 = 0; index1424 < (mbt_ffi_load32((iter_base) + 12)); index1424 = index1424 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1424 * 4) + + array1423.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1423) + } + 14 => { + + let lifted1425 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1425}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1426 : Array[Bool] = []; + for index1427 = 0; index1427 < (mbt_ffi_load32((iter_base) + 12)); index1427 = index1427 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1427 * 1) + + array1426.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1426) + } + 17 => { + + let array1428 : Array[Int] = []; + for index1429 = 0; index1429 < (mbt_ffi_load32((iter_base) + 12)); index1429 = index1429 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1429 * 4) + + array1428.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1428) + } + 18 => { + + let array1430 : Array[Int] = []; + for index1431 = 0; index1431 < (mbt_ffi_load32((iter_base) + 12)); index1431 = index1431 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1431 * 4) + + array1430.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1430) + } + 19 => { + + let array1432 : Array[Int] = []; + for index1433 = 0; index1433 < (mbt_ffi_load32((iter_base) + 12)); index1433 = index1433 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1433 * 4) + + array1432.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1432) + } + 20 => { + + let array1434 : Array[@types.MapEntry] = []; + for index1435 = 0; index1435 < (mbt_ffi_load32((iter_base) + 12)); index1435 = index1435 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1435 * 8) + + array1434.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1434) + } + 21 => { + + let lifted1436 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1436) + } + 22 => { + + let lifted1439 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1437 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1437) + } + 1 => { + + let lifted1438 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1438) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1439) + } + 23 => { + + let result1440 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1442 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1441 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1441) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1440, language : lifted1442}) + } + 24 => { + + let result1443 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1445 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1444 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1444) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1443, mime_type : lifted1445}) + } + 25 => { + + let result1446 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1446) + } + 26 => { + + let result1447 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1447) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1448 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1448}) + } + 30 => { + + let result1449 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1449, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1451.push(lifted1450) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) + + let result1453 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 80), mbt_ffi_load32((iter_base) + 84)) + + let array1455 : Array[String] = []; + for index1456 = 0; index1456 < (mbt_ffi_load32((iter_base) + 92)); index1456 = index1456 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index1456 * 8) + + let result1454 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1455.push(result1454) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + let array1470 : Array[Array[SpanData]] = []; + for index1471 = 0; index1471 < (mbt_ffi_load32((iter_base) + 100)); index1471 = index1471 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index1471 * 8) + + let array1468 : Array[SpanData] = []; + for index1469 = 0; index1469 < (mbt_ffi_load32((iter_base) + 4)); index1469 = index1469 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index1469 * 80) + + let lifted1467 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result1457 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1459 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result1458 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result1458) + } + _ => panic() + } + + let lifted1460 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array1464 : Array[@context.Attribute] = []; + for index1465 = 0; index1465 < (mbt_ffi_load32((iter_base) + 68)); index1465 = index1465 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index1465 * 20) + + let result1461 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1463 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result1462 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result1462) + } + _ => panic() + } + + array1464.push(@context.Attribute::{key : result1461, value : lifted1463}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result1457, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted1459, linked_context : lifted1460, attributes : array1464, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result1466 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result1466}) + } + _ => panic() + } + + array1468.push(lifted1467) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array1470.push(array1468) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) + + AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{idempotency_key : result1217, method_name : result1218, function_input : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1415, defs : array1420, root : mbt_ffi_load32((iter_base) + 64)}, value : @types.SchemaValueTree::{value_nodes : array1451, root : mbt_ffi_load32((iter_base) + 76)}}, trace_id : result1453, trace_states : array1455, invocation_context : array1470}) + } + 2 => { + + AgentInvocation::SaveSnapshot + } + 3 => { + + let result1472 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result1473 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{snapshot : SnapshotData::{data : result1472, mime_type : result1473}}) + } + 4 => { + + let result1474 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{idempotency_key : result1474}) + } + 5 => { + + AgentInvocation::ManualUpdate(ManualUpdateParameters::{target_revision : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + _ => panic() + } + + PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, invocation : lifted1475}) + } + 5 => { + + let lifted1950 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + let array1672 : Array[@types.SchemaTypeNode] = []; + for index1673 = 0; index1673 < (mbt_ffi_load32((iter_base) + 32)); index1673 = index1673 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1673 * 144) + + let lifted1658 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1482 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1477 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1476 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1476) + } + _ => panic() + } + + let lifted1479 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1478 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1478) + } + _ => panic() + } + + let lifted1481 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1480 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1480) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1477, max : lifted1479, unit : lifted1481}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1482) + } + 3 => { + + let lifted1489 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1484 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1483 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1483) + } + _ => panic() + } + + let lifted1486 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1485 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1485) + } + _ => panic() + } + + let lifted1488 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1487 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1487) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1484, max : lifted1486, unit : lifted1488}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1489) + } + 4 => { + + let lifted1496 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1491 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1490 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1490) + } + _ => panic() + } + + let lifted1493 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1492 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1492) + } + _ => panic() + } + + let lifted1495 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1494 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1494) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1491, max : lifted1493, unit : lifted1495}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1496) + } + 5 => { + + let lifted1503 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1498 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1497 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1497) + } + _ => panic() + } + + let lifted1500 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1499 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1499) + } + _ => panic() + } + + let lifted1502 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1501 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1501) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1498, max : lifted1500, unit : lifted1502}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1503) + } + 6 => { + + let lifted1510 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1505 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1504 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1504) + } + _ => panic() + } + + let lifted1507 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1506 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1506) + } + _ => panic() + } + + let lifted1509 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1508 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1508) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1505, max : lifted1507, unit : lifted1509}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1510) + } + 7 => { + + let lifted1517 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1512 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1511 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1511) + } + _ => panic() + } + + let lifted1514 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1513 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1513) + } + _ => panic() + } + + let lifted1516 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1515 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1515) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1512, max : lifted1514, unit : lifted1516}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1517) + } + 8 => { + + let lifted1524 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1519 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1518 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1518) + } + _ => panic() + } + + let lifted1521 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1520 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1520) + } + _ => panic() + } + + let lifted1523 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1522 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1522) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1519, max : lifted1521, unit : lifted1523}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1524) + } + 9 => { + + let lifted1531 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1526 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1525 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1525) + } + _ => panic() + } + + let lifted1528 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1527 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1527) + } + _ => panic() + } + + let lifted1530 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1529 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1529) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1526, max : lifted1528, unit : lifted1530}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1531) + } + 10 => { + + let lifted1538 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1533 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1532 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1532) + } + _ => panic() + } + + let lifted1535 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1534 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1534) + } + _ => panic() + } + + let lifted1537 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1536 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1536) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1533, max : lifted1535, unit : lifted1537}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1538) + } + 11 => { + + let lifted1545 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1540 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1539 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1539) + } + _ => panic() + } + + let lifted1542 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1541 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1541) + } + _ => panic() + } + + let lifted1544 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1543 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1543) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1540, max : lifted1542, unit : lifted1544}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1545) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1560 : Array[@types.NamedFieldType] = []; + for index1561 = 0; index1561 < (mbt_ffi_load32((iter_base) + 12)); index1561 = index1561 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1561 * 68) + + let result1546 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1548 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1547 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1547) + } + _ => panic() + } + + let array1550 : Array[String] = []; + for index1551 = 0; index1551 < (mbt_ffi_load32((iter_base) + 28)); index1551 = index1551 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1551 * 8) + + let result1549 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1550.push(result1549) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1553 : Array[String] = []; + for index1554 = 0; index1554 < (mbt_ffi_load32((iter_base) + 36)); index1554 = index1554 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1554 * 8) + + let result1552 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1553.push(result1552) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1556 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1555 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1555) + } + _ => panic() + } + + let lifted1559 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1558 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1557 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1557) + } + _ => panic() + } + + Option::Some(lifted1558) + } + _ => panic() + } + + array1560.push(@types.NamedFieldType::{name : result1546, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1548, aliases : array1550, examples : array1553, deprecated : lifted1556, role : lifted1559}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1560) + } + 15 => { + + let array1577 : Array[@types.VariantCaseType] = []; + for index1578 = 0; index1578 < (mbt_ffi_load32((iter_base) + 12)); index1578 = index1578 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1578 * 72) + + let result1562 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1563 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1565 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1564 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1564) + } + _ => panic() + } + + let array1567 : Array[String] = []; + for index1568 = 0; index1568 < (mbt_ffi_load32((iter_base) + 32)); index1568 = index1568 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1568 * 8) + + let result1566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1567.push(result1566) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1570 : Array[String] = []; + for index1571 = 0; index1571 < (mbt_ffi_load32((iter_base) + 40)); index1571 = index1571 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1571 * 8) + + let result1569 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1570.push(result1569) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1573 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1572 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1572) + } + _ => panic() + } + + let lifted1576 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1575 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1574) + } + _ => panic() + } + + Option::Some(lifted1575) + } + _ => panic() + } + + array1577.push(@types.VariantCaseType::{name : result1562, payload : lifted1563, metadata : @types.MetadataEnvelope::{doc : lifted1565, aliases : array1567, examples : array1570, deprecated : lifted1573, role : lifted1576}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1577) + } + 16 => { + + let array1580 : Array[String] = []; + for index1581 = 0; index1581 < (mbt_ffi_load32((iter_base) + 12)); index1581 = index1581 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1581 * 8) + + let result1579 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1580.push(result1579) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1580) + } + 17 => { + + let array1583 : Array[String] = []; + for index1584 = 0; index1584 < (mbt_ffi_load32((iter_base) + 12)); index1584 = index1584 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1584 * 8) + + let result1582 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1583.push(result1582) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1583) + } + 18 => { + + let array1585 : Array[Int] = []; + for index1586 = 0; index1586 < (mbt_ffi_load32((iter_base) + 12)); index1586 = index1586 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1586 * 4) + + array1585.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1585) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1587 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1588 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1587, err : lifted1588}) + } + 24 => { + + let lifted1592 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1590 : Array[String] = []; + for index1591 = 0; index1591 < (mbt_ffi_load32((iter_base) + 16)); index1591 = index1591 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1591 * 8) + + let result1589 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1590.push(result1589) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1590) + } + _ => panic() + } + + let lifted1593 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1594 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1596 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1595 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1595) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1592, min_length : lifted1593, max_length : lifted1594, regex : lifted1596}) + } + 25 => { + + let lifted1600 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1598 : Array[String] = []; + for index1599 = 0; index1599 < (mbt_ffi_load32((iter_base) + 16)); index1599 = index1599 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1599 * 8) + + let result1597 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1598.push(result1597) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1598) + } + _ => panic() + } + + let lifted1601 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1602 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1600, min_bytes : lifted1601, max_bytes : lifted1602}) + } + 26 => { + + let lifted1606 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1604 : Array[String] = []; + for index1605 = 0; index1605 < (mbt_ffi_load32((iter_base) + 20)); index1605 = index1605 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1605 * 8) + + let result1603 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1604.push(result1603) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1604) + } + _ => panic() + } + + let lifted1610 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1608 : Array[String] = []; + for index1609 = 0; index1609 < (mbt_ffi_load32((iter_base) + 32)); index1609 = index1609 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1609 * 8) + + let result1607 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1608.push(result1607) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1608) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1606, allowed_extensions : lifted1610}) + } + 27 => { + + let lifted1614 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1612 : Array[String] = []; + for index1613 = 0; index1613 < (mbt_ffi_load32((iter_base) + 16)); index1613 = index1613 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1613 * 8) + + let result1611 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1612.push(result1611) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1612) + } + _ => panic() + } + + let lifted1618 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1616 : Array[String] = []; + for index1617 = 0; index1617 < (mbt_ffi_load32((iter_base) + 28)); index1617 = index1617 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1617 * 8) + + let result1615 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1616.push(result1615) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1616) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1614, allowed_hosts : lifted1618}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1619 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1621 : Array[String] = []; + for index1622 = 0; index1622 < (mbt_ffi_load32((iter_base) + 20)); index1622 = index1622 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1622 * 8) + + let result1620 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1621.push(result1620) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1624 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1623 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1623}) + } + _ => panic() + } + + let lifted1626 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1625 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1625}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1619, allowed_suffixes : array1621, min : lifted1624, max : lifted1626}) + } + 31 => { + + let array1650 : Array[@types.UnionBranch] = []; + for index1651 = 0; index1651 < (mbt_ffi_load32((iter_base) + 12)); index1651 = index1651 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1651 * 92) + + let result1627 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1636 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1628 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1628) + } + 1 => { + + let result1629 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1629) + } + 2 => { + + let result1630 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1630) + } + 3 => { + + let result1631 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1631) + } + 4 => { + + let result1632 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1634 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1633 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1633) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1632, literal : lifted1634}) + } + 5 => { + + let result1635 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1635) + } + _ => panic() + } + + let lifted1638 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1637 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1637) + } + _ => panic() + } + + let array1640 : Array[String] = []; + for index1641 = 0; index1641 < (mbt_ffi_load32((iter_base) + 52)); index1641 = index1641 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1641 * 8) + + let result1639 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1640.push(result1639) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1643 : Array[String] = []; + for index1644 = 0; index1644 < (mbt_ffi_load32((iter_base) + 60)); index1644 = index1644 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1644 * 8) + + let result1642 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1643.push(result1642) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1646 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1645 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1645) + } + _ => panic() + } + + let lifted1649 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1648 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1647 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1647) + } + _ => panic() + } + + Option::Some(lifted1648) + } + _ => panic() + } + + array1650.push(@types.UnionBranch::{tag : result1627, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1636, metadata : @types.MetadataEnvelope::{doc : lifted1638, aliases : array1640, examples : array1643, deprecated : lifted1646, role : lifted1649}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1650}) + } + 32 => { + + let lifted1653 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1652 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1652) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1653}) + } + 33 => { + + let lifted1655 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1654 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1654) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1655}) + } + 34 => { + + let lifted1656 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1656) + } + 35 => { + + let lifted1657 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1657) + } + _ => panic() + } + + let lifted1660 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1659 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1659) + } + _ => panic() + } + + let array1662 : Array[String] = []; + for index1663 = 0; index1663 < (mbt_ffi_load32((iter_base) + 104)); index1663 = index1663 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1663 * 8) + + let result1661 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1662.push(result1661) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1665 : Array[String] = []; + for index1666 = 0; index1666 < (mbt_ffi_load32((iter_base) + 112)); index1666 = index1666 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1666 * 8) + + let result1664 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1665.push(result1664) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1668 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1667 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1667) + } + _ => panic() + } + + let lifted1671 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1670 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1669 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1669) + } + _ => panic() + } + + Option::Some(lifted1670) + } + _ => panic() + } + + array1672.push(@types.SchemaTypeNode::{body : lifted1658, metadata : @types.MetadataEnvelope::{doc : lifted1660, aliases : array1662, examples : array1665, deprecated : lifted1668, role : lifted1671}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1677 : Array[@types.SchemaTypeDef] = []; + for index1678 = 0; index1678 < (mbt_ffi_load32((iter_base) + 40)); index1678 = index1678 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1678 * 24) + + let result1674 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1676 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1675 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1675) + } + _ => panic() + } + + array1677.push(@types.SchemaTypeDef::{id : result1674, name : lifted1676, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array1708 : Array[@types.SchemaValueNode] = []; + for index1709 = 0; index1709 < (mbt_ffi_load32((iter_base) + 52)); index1709 = index1709 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1709 * 32) + + let lifted1707 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1679 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1679) + } + 13 => { + + let array1680 : Array[Int] = []; + for index1681 = 0; index1681 < (mbt_ffi_load32((iter_base) + 12)); index1681 = index1681 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1681 * 4) + + array1680.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1680) + } + 14 => { + + let lifted1682 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1682}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1683 : Array[Bool] = []; + for index1684 = 0; index1684 < (mbt_ffi_load32((iter_base) + 12)); index1684 = index1684 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1684 * 1) + + array1683.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1683) + } + 17 => { + + let array1685 : Array[Int] = []; + for index1686 = 0; index1686 < (mbt_ffi_load32((iter_base) + 12)); index1686 = index1686 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1686 * 4) + + array1685.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1685) + } + 18 => { + + let array1687 : Array[Int] = []; + for index1688 = 0; index1688 < (mbt_ffi_load32((iter_base) + 12)); index1688 = index1688 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1688 * 4) + + array1687.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1687) + } + 19 => { + + let array1689 : Array[Int] = []; + for index1690 = 0; index1690 < (mbt_ffi_load32((iter_base) + 12)); index1690 = index1690 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1690 * 4) + + array1689.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1689) + } + 20 => { + + let array1691 : Array[@types.MapEntry] = []; + for index1692 = 0; index1692 < (mbt_ffi_load32((iter_base) + 12)); index1692 = index1692 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1692 * 8) + + array1691.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1691) + } + 21 => { + + let lifted1693 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1693) + } + 22 => { + + let lifted1696 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1694 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1694) + } + 1 => { + + let lifted1695 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1695) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1696) + } + 23 => { + + let result1697 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1699 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1698 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1698) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1697, language : lifted1699}) + } + 24 => { + + let result1700 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1702 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1701 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1701) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1700, mime_type : lifted1702}) + } + 25 => { + + let result1703 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1703) + } + 26 => { + + let result1704 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1704) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1705 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1705}) + } + 30 => { + + let result1706 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1706, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1708.push(lifted1707) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + AgentInvocationResult::AgentInitialization(AgentInvocationOutputParameters::{output : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1672, defs : array1677, root : mbt_ffi_load32((iter_base) + 44)}, value : @types.SchemaValueTree::{value_nodes : array1708, root : mbt_ffi_load32((iter_base) + 56)}}}) + } + 1 => { + + let array1906 : Array[@types.SchemaTypeNode] = []; + for index1907 = 0; index1907 < (mbt_ffi_load32((iter_base) + 32)); index1907 = index1907 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1907 * 144) + + let lifted1892 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1716 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1711 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1710 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1710) + } + _ => panic() + } + + let lifted1713 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1712 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1712) + } + _ => panic() + } + + let lifted1715 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1714 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1714) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1711, max : lifted1713, unit : lifted1715}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1716) + } + 3 => { + + let lifted1723 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1718 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1717 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1717) + } + _ => panic() + } + + let lifted1720 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1719 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1719) + } + _ => panic() + } + + let lifted1722 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1721 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1721) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1718, max : lifted1720, unit : lifted1722}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1723) + } + 4 => { + + let lifted1730 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1725 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1724 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1724) + } + _ => panic() + } + + let lifted1727 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1726 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1726) + } + _ => panic() + } + + let lifted1729 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1728 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1728) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1725, max : lifted1727, unit : lifted1729}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1730) + } + 5 => { + + let lifted1737 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1732 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1731 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1731) + } + _ => panic() + } + + let lifted1734 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1733 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1733) + } + _ => panic() + } + + let lifted1736 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1735 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1735) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1732, max : lifted1734, unit : lifted1736}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1737) + } + 6 => { + + let lifted1744 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1739 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1738 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1738) + } + _ => panic() + } + + let lifted1741 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1740 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1740) + } + _ => panic() + } + + let lifted1743 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1742 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1742) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1739, max : lifted1741, unit : lifted1743}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1744) + } + 7 => { + + let lifted1751 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1746 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1745 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1745) + } + _ => panic() + } + + let lifted1748 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1747 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1747) + } + _ => panic() + } + + let lifted1750 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1749 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1749) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1746, max : lifted1748, unit : lifted1750}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1751) + } + 8 => { + + let lifted1758 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1753 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1752 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1752) + } + _ => panic() + } + + let lifted1755 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1754 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1754) + } + _ => panic() + } + + let lifted1757 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1756 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1756) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1753, max : lifted1755, unit : lifted1757}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1758) + } + 9 => { + + let lifted1765 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1760 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1759 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1759) + } + _ => panic() + } + + let lifted1762 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1761 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1761) + } + _ => panic() + } + + let lifted1764 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1763 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1763) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1760, max : lifted1762, unit : lifted1764}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1765) + } + 10 => { + + let lifted1772 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1767 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1766 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1766) + } + _ => panic() + } + + let lifted1769 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1768 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1768) + } + _ => panic() + } + + let lifted1771 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1770 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1770) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1767, max : lifted1769, unit : lifted1771}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1772) + } + 11 => { + + let lifted1779 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1774 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1773 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1773) + } + _ => panic() + } + + let lifted1776 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1775 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1775) + } + _ => panic() + } + + let lifted1778 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1777 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1777) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1774, max : lifted1776, unit : lifted1778}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1779) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1794 : Array[@types.NamedFieldType] = []; + for index1795 = 0; index1795 < (mbt_ffi_load32((iter_base) + 12)); index1795 = index1795 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1795 * 68) + + let result1780 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1782 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1781 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1781) + } + _ => panic() + } + + let array1784 : Array[String] = []; + for index1785 = 0; index1785 < (mbt_ffi_load32((iter_base) + 28)); index1785 = index1785 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1785 * 8) + + let result1783 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1784.push(result1783) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1787 : Array[String] = []; + for index1788 = 0; index1788 < (mbt_ffi_load32((iter_base) + 36)); index1788 = index1788 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1788 * 8) + + let result1786 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1787.push(result1786) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1790 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1789 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1789) + } + _ => panic() + } + + let lifted1793 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1792 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1791 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1791) + } + _ => panic() + } + + Option::Some(lifted1792) + } + _ => panic() + } + + array1794.push(@types.NamedFieldType::{name : result1780, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1782, aliases : array1784, examples : array1787, deprecated : lifted1790, role : lifted1793}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1794) + } + 15 => { + + let array1811 : Array[@types.VariantCaseType] = []; + for index1812 = 0; index1812 < (mbt_ffi_load32((iter_base) + 12)); index1812 = index1812 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1812 * 72) + + let result1796 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1797 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1799 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1798 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1798) + } + _ => panic() + } + + let array1801 : Array[String] = []; + for index1802 = 0; index1802 < (mbt_ffi_load32((iter_base) + 32)); index1802 = index1802 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1802 * 8) + + let result1800 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1801.push(result1800) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1804 : Array[String] = []; + for index1805 = 0; index1805 < (mbt_ffi_load32((iter_base) + 40)); index1805 = index1805 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1805 * 8) + + let result1803 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1804.push(result1803) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1807 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1806 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1806) + } + _ => panic() + } + + let lifted1810 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1809 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1808 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1808) + } + _ => panic() + } + + Option::Some(lifted1809) + } + _ => panic() + } + + array1811.push(@types.VariantCaseType::{name : result1796, payload : lifted1797, metadata : @types.MetadataEnvelope::{doc : lifted1799, aliases : array1801, examples : array1804, deprecated : lifted1807, role : lifted1810}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1811) + } + 16 => { + + let array1814 : Array[String] = []; + for index1815 = 0; index1815 < (mbt_ffi_load32((iter_base) + 12)); index1815 = index1815 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1815 * 8) + + let result1813 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1814.push(result1813) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1814) + } + 17 => { + + let array1817 : Array[String] = []; + for index1818 = 0; index1818 < (mbt_ffi_load32((iter_base) + 12)); index1818 = index1818 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1818 * 8) + + let result1816 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1817.push(result1816) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1817) + } + 18 => { + + let array1819 : Array[Int] = []; + for index1820 = 0; index1820 < (mbt_ffi_load32((iter_base) + 12)); index1820 = index1820 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1820 * 4) + + array1819.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1819) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1821 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1822 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1821, err : lifted1822}) + } + 24 => { + + let lifted1826 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1824 : Array[String] = []; + for index1825 = 0; index1825 < (mbt_ffi_load32((iter_base) + 16)); index1825 = index1825 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1825 * 8) + + let result1823 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1824.push(result1823) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1824) + } + _ => panic() + } + + let lifted1827 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1828 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1830 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1829 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1829) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1826, min_length : lifted1827, max_length : lifted1828, regex : lifted1830}) + } + 25 => { + + let lifted1834 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1832 : Array[String] = []; + for index1833 = 0; index1833 < (mbt_ffi_load32((iter_base) + 16)); index1833 = index1833 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1833 * 8) + + let result1831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1832.push(result1831) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1832) + } + _ => panic() + } + + let lifted1835 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1836 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1834, min_bytes : lifted1835, max_bytes : lifted1836}) + } + 26 => { + + let lifted1840 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1838 : Array[String] = []; + for index1839 = 0; index1839 < (mbt_ffi_load32((iter_base) + 20)); index1839 = index1839 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1839 * 8) + + let result1837 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1838.push(result1837) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1838) + } + _ => panic() + } + + let lifted1844 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1842 : Array[String] = []; + for index1843 = 0; index1843 < (mbt_ffi_load32((iter_base) + 32)); index1843 = index1843 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1843 * 8) + + let result1841 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1842.push(result1841) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1842) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1840, allowed_extensions : lifted1844}) + } + 27 => { + + let lifted1848 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1846 : Array[String] = []; + for index1847 = 0; index1847 < (mbt_ffi_load32((iter_base) + 16)); index1847 = index1847 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1847 * 8) + + let result1845 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1846.push(result1845) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1846) + } + _ => panic() + } + + let lifted1852 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1850 : Array[String] = []; + for index1851 = 0; index1851 < (mbt_ffi_load32((iter_base) + 28)); index1851 = index1851 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1851 * 8) + + let result1849 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1850.push(result1849) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1850) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1848, allowed_hosts : lifted1852}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1853 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1855 : Array[String] = []; + for index1856 = 0; index1856 < (mbt_ffi_load32((iter_base) + 20)); index1856 = index1856 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1856 * 8) + + let result1854 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1855.push(result1854) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1858 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1857 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1857}) + } + _ => panic() + } + + let lifted1860 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1859 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1859}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1853, allowed_suffixes : array1855, min : lifted1858, max : lifted1860}) + } + 31 => { + + let array1884 : Array[@types.UnionBranch] = []; + for index1885 = 0; index1885 < (mbt_ffi_load32((iter_base) + 12)); index1885 = index1885 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1885 * 92) + + let result1861 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1870 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1862 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1862) + } + 1 => { + + let result1863 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1863) + } + 2 => { + + let result1864 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1864) + } + 3 => { + + let result1865 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1865) + } + 4 => { + + let result1866 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1868 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1867 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1867) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1866, literal : lifted1868}) + } + 5 => { + + let result1869 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1869) + } + _ => panic() + } + + let lifted1872 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1871 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1871) + } + _ => panic() + } + + let array1874 : Array[String] = []; + for index1875 = 0; index1875 < (mbt_ffi_load32((iter_base) + 52)); index1875 = index1875 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1875 * 8) + + let result1873 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1874.push(result1873) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1877 : Array[String] = []; + for index1878 = 0; index1878 < (mbt_ffi_load32((iter_base) + 60)); index1878 = index1878 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1878 * 8) + + let result1876 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1877.push(result1876) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1880 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1879 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1879) + } + _ => panic() + } + + let lifted1883 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1882 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1881 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1881) + } + _ => panic() + } + + Option::Some(lifted1882) + } + _ => panic() + } + + array1884.push(@types.UnionBranch::{tag : result1861, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1870, metadata : @types.MetadataEnvelope::{doc : lifted1872, aliases : array1874, examples : array1877, deprecated : lifted1880, role : lifted1883}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1884}) + } + 32 => { + + let lifted1887 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1886 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1886) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1887}) + } + 33 => { + + let lifted1889 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1888 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1888) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1889}) + } + 34 => { + + let lifted1890 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1890) + } + 35 => { + + let lifted1891 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1891) + } + _ => panic() + } + + let lifted1894 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1893 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1893) + } + _ => panic() + } + + let array1896 : Array[String] = []; + for index1897 = 0; index1897 < (mbt_ffi_load32((iter_base) + 104)); index1897 = index1897 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1897 * 8) + + let result1895 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1896.push(result1895) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1899 : Array[String] = []; + for index1900 = 0; index1900 < (mbt_ffi_load32((iter_base) + 112)); index1900 = index1900 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1900 * 8) + + let result1898 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1899.push(result1898) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1902 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1901 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1901) + } + _ => panic() + } + + let lifted1905 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1904 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1903 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1903) + } + _ => panic() + } + + Option::Some(lifted1904) + } + _ => panic() + } + + array1906.push(@types.SchemaTypeNode::{body : lifted1892, metadata : @types.MetadataEnvelope::{doc : lifted1894, aliases : array1896, examples : array1899, deprecated : lifted1902, role : lifted1905}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1911 : Array[@types.SchemaTypeDef] = []; + for index1912 = 0; index1912 < (mbt_ffi_load32((iter_base) + 40)); index1912 = index1912 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1912 * 24) + + let result1908 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1910 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1909 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1909) + } + _ => panic() + } + + array1911.push(@types.SchemaTypeDef::{id : result1908, name : lifted1910, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array1942 : Array[@types.SchemaValueNode] = []; + for index1943 = 0; index1943 < (mbt_ffi_load32((iter_base) + 52)); index1943 = index1943 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1943 * 32) + + let lifted1941 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1913 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1913) + } + 13 => { + + let array1914 : Array[Int] = []; + for index1915 = 0; index1915 < (mbt_ffi_load32((iter_base) + 12)); index1915 = index1915 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1915 * 4) + + array1914.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1914) + } + 14 => { + + let lifted1916 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1916}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1917 : Array[Bool] = []; + for index1918 = 0; index1918 < (mbt_ffi_load32((iter_base) + 12)); index1918 = index1918 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1918 * 1) + + array1917.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1917) + } + 17 => { + + let array1919 : Array[Int] = []; + for index1920 = 0; index1920 < (mbt_ffi_load32((iter_base) + 12)); index1920 = index1920 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1920 * 4) + + array1919.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1919) + } + 18 => { + + let array1921 : Array[Int] = []; + for index1922 = 0; index1922 < (mbt_ffi_load32((iter_base) + 12)); index1922 = index1922 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1922 * 4) + + array1921.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1921) + } + 19 => { + + let array1923 : Array[Int] = []; + for index1924 = 0; index1924 < (mbt_ffi_load32((iter_base) + 12)); index1924 = index1924 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1924 * 4) + + array1923.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1923) + } + 20 => { + + let array1925 : Array[@types.MapEntry] = []; + for index1926 = 0; index1926 < (mbt_ffi_load32((iter_base) + 12)); index1926 = index1926 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1926 * 8) + + array1925.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1925) + } + 21 => { + + let lifted1927 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1927) + } + 22 => { + + let lifted1930 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1928 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1928) + } + 1 => { + + let lifted1929 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1929) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1930) + } + 23 => { + + let result1931 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1933 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1932 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1932) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1931, language : lifted1933}) + } + 24 => { + + let result1934 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1936 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1935 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1935) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1934, mime_type : lifted1936}) + } + 25 => { + + let result1937 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1937) + } + 26 => { + + let result1938 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1938) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1939 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1939}) + } + 30 => { + + let result1940 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1940, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1942.push(lifted1941) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + AgentInvocationResult::AgentMethod(AgentInvocationOutputParameters::{output : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1906, defs : array1911, root : mbt_ffi_load32((iter_base) + 44)}, value : @types.SchemaValueTree::{value_nodes : array1942, root : mbt_ffi_load32((iter_base) + 56)}}}) + } + 2 => { + + AgentInvocationResult::ManualUpdate + } + 3 => { + + let lifted1945 : String? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + let result1944 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + Option::Some(result1944) + } + _ => panic() + } + + AgentInvocationResult::LoadSnapshot(FallibleResultParameters::{error : lifted1945}) + } + 4 => { + + let result1946 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let result1947 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + AgentInvocationResult::SaveSnapshot(SaveSnapshotResultParameters::{snapshot : SnapshotData::{data : result1946, mime_type : result1947}}) + } + 5 => { + + let lifted1949 : String? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + let result1948 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + Option::Some(result1948) + } + _ => panic() + } + + AgentInvocationResult::ProcessOplogEntries(FallibleResultParameters::{error : lifted1949}) + } + _ => panic() + } + + let lifted1952 : String? = match mbt_ffi_load8_u((iter_base) + 60) { + 0 => Option::None + 1 => { + + let result1951 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + Option::Some(result1951) + } + _ => panic() + } + + PublicOplogEntry::AgentInvocationFinished(AgentInvocationFinishedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, result : lifted1950, method_name : lifted1952, consumed_fuel : mbt_ffi_load64((iter_base) + 72), component_revision : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()}) + } + 6 => { + + PublicOplogEntry::Suspend(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 7 => { + + let result1953 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let lifted1957 : RetryPolicyState? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let array1955 : Array[StateNode] = []; + for index1956 = 0; index1956 < (mbt_ffi_load32((iter_base) + 52)); index1956 = index1956 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1956 * 16) + + let lifted1954 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + StateNode::Counter((mbt_ffi_load32((iter_base) + 4)).reinterpret_as_uint()) + } + 1 => { + + StateNode::Terminal + } + 2 => { + + StateNode::Wrapper(mbt_ffi_load32((iter_base) + 4)) + } + 3 => { + + StateNode::CountBox(CountBoxState::{attempts : (mbt_ffi_load32((iter_base) + 4)).reinterpret_as_uint(), inner : mbt_ffi_load32((iter_base) + 8)}) + } + 4 => { + + StateNode::AndThen(AndThenState::{left : mbt_ffi_load32((iter_base) + 4), right : mbt_ffi_load32((iter_base) + 8), on_right : (mbt_ffi_load8_u((iter_base) + 12) != 0)}) + } + 5 => { + + StateNode::Pair(PairState::{left : mbt_ffi_load32((iter_base) + 4), right : mbt_ffi_load32((iter_base) + 8)}) + } + _ => panic() + } + + array1955.push(lifted1954) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + Option::Some(RetryPolicyState::{nodes : array1955}) + } + _ => panic() + } + + PublicOplogEntry::Error(ErrorParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, error : result1953, retry_from : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), inside_atomic_region : (mbt_ffi_load8_u((iter_base) + 40) != 0), retry_policy_state : lifted1957}) + } + 8 => { + + PublicOplogEntry::NoOp(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 9 => { + + PublicOplogEntry::Jump(JumpParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, jump : OplogRegion::{start : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), end : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}) + } + 10 => { + + PublicOplogEntry::Interrupted(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 11 => { + + PublicOplogEntry::Exited(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 12 => { + + PublicOplogEntry::BeginAtomicRegion(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 13 => { + + PublicOplogEntry::EndAtomicRegion(EndAtomicRegionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 14 => { + + let lifted2470 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + let result1958 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let array2155 : Array[@types.SchemaTypeNode] = []; + for index2156 = 0; index2156 < (mbt_ffi_load32((iter_base) + 44)); index2156 = index2156 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 40)) + (index2156 * 144) + + let lifted2141 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1965 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1960 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1959 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1959) + } + _ => panic() + } + + let lifted1962 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1961 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1961) + } + _ => panic() + } + + let lifted1964 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1963 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1963) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1960, max : lifted1962, unit : lifted1964}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1965) + } + 3 => { + + let lifted1972 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1967 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1966 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1966) + } + _ => panic() + } + + let lifted1969 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1968 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1968) + } + _ => panic() + } + + let lifted1971 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1970 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1970) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1967, max : lifted1969, unit : lifted1971}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1972) + } + 4 => { + + let lifted1979 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1974 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1973 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1973) + } + _ => panic() + } + + let lifted1976 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1975 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1975) + } + _ => panic() + } + + let lifted1978 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1977 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1977) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1974, max : lifted1976, unit : lifted1978}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1979) + } + 5 => { + + let lifted1986 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1981 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1980 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1980) + } + _ => panic() + } + + let lifted1983 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1982 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1982) + } + _ => panic() + } + + let lifted1985 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1984 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1984) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1981, max : lifted1983, unit : lifted1985}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1986) + } + 6 => { + + let lifted1993 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1988 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1987 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1987) + } + _ => panic() + } + + let lifted1990 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1989 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1989) + } + _ => panic() + } + + let lifted1992 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1991 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1991) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1988, max : lifted1990, unit : lifted1992}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1993) + } + 7 => { + + let lifted2000 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1995 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1994 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1994) + } + _ => panic() + } + + let lifted1997 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1996 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1996) + } + _ => panic() + } + + let lifted1999 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1998 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1998) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1995, max : lifted1997, unit : lifted1999}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2000) + } + 8 => { + + let lifted2007 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2002 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2001 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2001) + } + _ => panic() + } + + let lifted2004 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2003 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2003) + } + _ => panic() + } + + let lifted2006 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2005 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2005) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2002, max : lifted2004, unit : lifted2006}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2007) + } + 9 => { + + let lifted2014 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2009 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2008 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2008) + } + _ => panic() + } + + let lifted2011 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2010 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2010) + } + _ => panic() + } + + let lifted2013 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2012 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2012) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2009, max : lifted2011, unit : lifted2013}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2014) + } + 10 => { + + let lifted2021 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2016 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2015 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2015) + } + _ => panic() + } + + let lifted2018 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2017 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2017) + } + _ => panic() + } + + let lifted2020 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2019 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2019) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2016, max : lifted2018, unit : lifted2020}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted2021) + } + 11 => { + + let lifted2028 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2023 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2022 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2022) + } + _ => panic() + } + + let lifted2025 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2024 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2024) + } + _ => panic() + } + + let lifted2027 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2026 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2026) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2023, max : lifted2025, unit : lifted2027}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted2028) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array2043 : Array[@types.NamedFieldType] = []; + for index2044 = 0; index2044 < (mbt_ffi_load32((iter_base) + 12)); index2044 = index2044 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2044 * 68) + + let result2029 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2031 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2030 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2030) + } + _ => panic() + } + + let array2033 : Array[String] = []; + for index2034 = 0; index2034 < (mbt_ffi_load32((iter_base) + 28)); index2034 = index2034 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2034 * 8) + + let result2032 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2033.push(result2032) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array2036 : Array[String] = []; + for index2037 = 0; index2037 < (mbt_ffi_load32((iter_base) + 36)); index2037 = index2037 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2037 * 8) + + let result2035 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2036.push(result2035) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted2039 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result2038 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result2038) + } + _ => panic() + } + + let lifted2042 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted2041 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2040 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result2040) + } + _ => panic() + } + + Option::Some(lifted2041) + } + _ => panic() + } + + array2043.push(@types.NamedFieldType::{name : result2029, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2031, aliases : array2033, examples : array2036, deprecated : lifted2039, role : lifted2042}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array2043) + } + 15 => { + + let array2060 : Array[@types.VariantCaseType] = []; + for index2061 = 0; index2061 < (mbt_ffi_load32((iter_base) + 12)); index2061 = index2061 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2061 * 72) + + let result2045 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2046 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2048 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2047 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2047) + } + _ => panic() + } + + let array2050 : Array[String] = []; + for index2051 = 0; index2051 < (mbt_ffi_load32((iter_base) + 32)); index2051 = index2051 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2051 * 8) + + let result2049 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2050.push(result2049) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2053 : Array[String] = []; + for index2054 = 0; index2054 < (mbt_ffi_load32((iter_base) + 40)); index2054 = index2054 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2054 * 8) + + let result2052 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2053.push(result2052) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted2056 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2055 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2055) + } + _ => panic() + } + + let lifted2059 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted2058 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2057 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result2057) + } + _ => panic() + } + + Option::Some(lifted2058) + } + _ => panic() + } + + array2060.push(@types.VariantCaseType::{name : result2045, payload : lifted2046, metadata : @types.MetadataEnvelope::{doc : lifted2048, aliases : array2050, examples : array2053, deprecated : lifted2056, role : lifted2059}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array2060) + } + 16 => { + + let array2063 : Array[String] = []; + for index2064 = 0; index2064 < (mbt_ffi_load32((iter_base) + 12)); index2064 = index2064 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2064 * 8) + + let result2062 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2063.push(result2062) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array2063) + } + 17 => { + + let array2066 : Array[String] = []; + for index2067 = 0; index2067 < (mbt_ffi_load32((iter_base) + 12)); index2067 = index2067 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2067 * 8) + + let result2065 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2066.push(result2065) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array2066) + } + 18 => { + + let array2068 : Array[Int] = []; + for index2069 = 0; index2069 < (mbt_ffi_load32((iter_base) + 12)); index2069 = index2069 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2069 * 4) + + array2068.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array2068) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted2070 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2071 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2070, err : lifted2071}) + } + 24 => { + + let lifted2075 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2073 : Array[String] = []; + for index2074 = 0; index2074 < (mbt_ffi_load32((iter_base) + 16)); index2074 = index2074 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2074 * 8) + + let result2072 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2073.push(result2072) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2073) + } + _ => panic() + } + + let lifted2076 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2077 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2079 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2078 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2078) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2075, min_length : lifted2076, max_length : lifted2077, regex : lifted2079}) + } + 25 => { + + let lifted2083 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2081 : Array[String] = []; + for index2082 = 0; index2082 < (mbt_ffi_load32((iter_base) + 16)); index2082 = index2082 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2082 * 8) + + let result2080 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2081.push(result2080) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2081) + } + _ => panic() + } + + let lifted2084 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2085 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2083, min_bytes : lifted2084, max_bytes : lifted2085}) + } + 26 => { + + let lifted2089 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array2087 : Array[String] = []; + for index2088 = 0; index2088 < (mbt_ffi_load32((iter_base) + 20)); index2088 = index2088 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2088 * 8) + + let result2086 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2087.push(result2086) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array2087) + } + _ => panic() + } + + let lifted2093 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array2091 : Array[String] = []; + for index2092 = 0; index2092 < (mbt_ffi_load32((iter_base) + 32)); index2092 = index2092 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2092 * 8) + + let result2090 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2091.push(result2090) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2091) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2089, allowed_extensions : lifted2093}) + } + 27 => { + + let lifted2097 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2095 : Array[String] = []; + for index2096 = 0; index2096 < (mbt_ffi_load32((iter_base) + 16)); index2096 = index2096 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2096 * 8) + + let result2094 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2095.push(result2094) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2095) + } + _ => panic() + } + + let lifted2101 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2099 : Array[String] = []; + for index2100 = 0; index2100 < (mbt_ffi_load32((iter_base) + 28)); index2100 = index2100 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2100 * 8) + + let result2098 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2099.push(result2098) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2099) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2097, allowed_hosts : lifted2101}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2102 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2104 : Array[String] = []; + for index2105 = 0; index2105 < (mbt_ffi_load32((iter_base) + 20)); index2105 = index2105 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2105 * 8) + + let result2103 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2104.push(result2103) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2107 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2106 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2106}) + } + _ => panic() + } + + let lifted2109 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result2108 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2108}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2102, allowed_suffixes : array2104, min : lifted2107, max : lifted2109}) + } + 31 => { + + let array2133 : Array[@types.UnionBranch] = []; + for index2134 = 0; index2134 < (mbt_ffi_load32((iter_base) + 12)); index2134 = index2134 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2134 * 92) + + let result2110 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2119 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2111 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2111) + } + 1 => { + + let result2112 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result2112) + } + 2 => { + + let result2113 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result2113) + } + 3 => { + + let result2114 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result2114) + } + 4 => { + + let result2115 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted2117 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2116 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result2116) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2115, literal : lifted2117}) + } + 5 => { + + let result2118 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result2118) + } + _ => panic() + } + + let lifted2121 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2120 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2120) + } + _ => panic() + } + + let array2123 : Array[String] = []; + for index2124 = 0; index2124 < (mbt_ffi_load32((iter_base) + 52)); index2124 = index2124 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2124 * 8) + + let result2122 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2123.push(result2122) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2126 : Array[String] = []; + for index2127 = 0; index2127 < (mbt_ffi_load32((iter_base) + 60)); index2127 = index2127 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2127 * 8) + + let result2125 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2126.push(result2125) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted2129 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2128 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2128) + } + _ => panic() + } + + let lifted2132 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted2131 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2130 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result2130) + } + _ => panic() + } + + Option::Some(lifted2131) + } + _ => panic() + } + + array2133.push(@types.UnionBranch::{tag : result2110, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2119, metadata : @types.MetadataEnvelope::{doc : lifted2121, aliases : array2123, examples : array2126, deprecated : lifted2129, role : lifted2132}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2133}) + } + 32 => { + + let lifted2136 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2135 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2135) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2136}) + } + 33 => { + + let lifted2138 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2137 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2137) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2138}) + } + 34 => { + + let lifted2139 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted2139) + } + 35 => { + + let lifted2140 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted2140) + } + _ => panic() + } + + let lifted2143 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result2142 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result2142) + } + _ => panic() + } + + let array2145 : Array[String] = []; + for index2146 = 0; index2146 < (mbt_ffi_load32((iter_base) + 104)); index2146 = index2146 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2146 * 8) + + let result2144 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2145.push(result2144) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array2148 : Array[String] = []; + for index2149 = 0; index2149 < (mbt_ffi_load32((iter_base) + 112)); index2149 = index2149 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2149 * 8) + + let result2147 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2148.push(result2147) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted2151 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result2150 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result2150) + } + _ => panic() + } + + let lifted2154 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted2153 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2152 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result2152) + } + _ => panic() + } + + Option::Some(lifted2153) + } + _ => panic() + } + + array2155.push(@types.SchemaTypeNode::{body : lifted2141, metadata : @types.MetadataEnvelope::{doc : lifted2143, aliases : array2145, examples : array2148, deprecated : lifted2151, role : lifted2154}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 40)) + + let array2160 : Array[@types.SchemaTypeDef] = []; + for index2161 = 0; index2161 < (mbt_ffi_load32((iter_base) + 52)); index2161 = index2161 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2161 * 24) + + let result2157 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2159 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2158 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2158) + } + _ => panic() + } + + array2160.push(@types.SchemaTypeDef::{id : result2157, name : lifted2159, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2191 : Array[@types.SchemaValueNode] = []; + for index2192 = 0; index2192 < (mbt_ffi_load32((iter_base) + 64)); index2192 = index2192 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2192 * 32) + + let lifted2190 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result2162 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result2162) + } + 13 => { + + let array2163 : Array[Int] = []; + for index2164 = 0; index2164 < (mbt_ffi_load32((iter_base) + 12)); index2164 = index2164 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2164 * 4) + + array2163.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array2163) + } + 14 => { + + let lifted2165 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2165}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array2166 : Array[Bool] = []; + for index2167 = 0; index2167 < (mbt_ffi_load32((iter_base) + 12)); index2167 = index2167 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2167 * 1) + + array2166.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array2166) + } + 17 => { + + let array2168 : Array[Int] = []; + for index2169 = 0; index2169 < (mbt_ffi_load32((iter_base) + 12)); index2169 = index2169 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2169 * 4) + + array2168.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array2168) + } + 18 => { + + let array2170 : Array[Int] = []; + for index2171 = 0; index2171 < (mbt_ffi_load32((iter_base) + 12)); index2171 = index2171 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2171 * 4) + + array2170.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array2170) + } + 19 => { + + let array2172 : Array[Int] = []; + for index2173 = 0; index2173 < (mbt_ffi_load32((iter_base) + 12)); index2173 = index2173 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2173 * 4) + + array2172.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array2172) + } + 20 => { + + let array2174 : Array[@types.MapEntry] = []; + for index2175 = 0; index2175 < (mbt_ffi_load32((iter_base) + 12)); index2175 = index2175 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2175 * 8) + + array2174.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array2174) + } + 21 => { + + let lifted2176 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted2176) + } + 22 => { + + let lifted2179 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted2177 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted2177) + } + 1 => { + + let lifted2178 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted2178) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted2179) + } + 23 => { + + let result2180 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2182 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2181 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2181) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2180, language : lifted2182}) + } + 24 => { + + let result2183 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2185 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2184 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2184) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2183, mime_type : lifted2185}) + } + 25 => { + + let result2186 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result2186) + } + 26 => { + + let result2187 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result2187) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result2188 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2188}) + } + 30 => { + + let result2189 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2189, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array2191.push(lifted2190) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + let result2193 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 72), mbt_ffi_load32((iter_base) + 76)) + + let array2195 : Array[String] = []; + for index2196 = 0; index2196 < (mbt_ffi_load32((iter_base) + 84)); index2196 = index2196 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 80)) + (index2196 * 8) + + let result2194 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2195.push(result2194) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 80)) + + let array2210 : Array[Array[SpanData]] = []; + for index2211 = 0; index2211 < (mbt_ffi_load32((iter_base) + 92)); index2211 = index2211 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index2211 * 8) + + let array2208 : Array[SpanData] = []; + for index2209 = 0; index2209 < (mbt_ffi_load32((iter_base) + 4)); index2209 = index2209 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index2209 * 80) + + let lifted2207 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2197 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2199 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2198 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2198) + } + _ => panic() + } + + let lifted2200 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array2204 : Array[@context.Attribute] = []; + for index2205 = 0; index2205 < (mbt_ffi_load32((iter_base) + 68)); index2205 = index2205 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2205 * 20) + + let result2201 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2203 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result2202 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result2202) + } + _ => panic() + } + + array2204.push(@context.Attribute::{key : result2201, value : lifted2203}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result2197, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted2199, linked_context : lifted2200, attributes : array2204, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result2206 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result2206}) + } + _ => panic() + } + + array2208.push(lifted2207) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array2210.push(array2208) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + AgentInvocation::AgentInitialization(AgentInitializationParameters::{idempotency_key : result1958, constructor_parameters : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2155, defs : array2160, root : mbt_ffi_load32((iter_base) + 56)}, value : @types.SchemaValueTree::{value_nodes : array2191, root : mbt_ffi_load32((iter_base) + 68)}}, trace_id : result2193, trace_states : array2195, invocation_context : array2210}) + } + 1 => { + + let result2212 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2213 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let array2410 : Array[@types.SchemaTypeNode] = []; + for index2411 = 0; index2411 < (mbt_ffi_load32((iter_base) + 52)); index2411 = index2411 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2411 * 144) + + let lifted2396 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted2220 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2215 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2214 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2214) + } + _ => panic() + } + + let lifted2217 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2216 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2216) + } + _ => panic() + } + + let lifted2219 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2218 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2218) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2215, max : lifted2217, unit : lifted2219}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted2220) + } + 3 => { + + let lifted2227 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2222 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2221 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2221) + } + _ => panic() + } + + let lifted2224 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2223 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2223) + } + _ => panic() + } + + let lifted2226 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2225 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2225) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2222, max : lifted2224, unit : lifted2226}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted2227) + } + 4 => { + + let lifted2234 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2229 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2228 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2228) + } + _ => panic() + } + + let lifted2231 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2230 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2230) + } + _ => panic() + } + + let lifted2233 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2232 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2232) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2229, max : lifted2231, unit : lifted2233}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted2234) + } + 5 => { + + let lifted2241 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2236 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2235 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2235) + } + _ => panic() + } + + let lifted2238 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2237 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2237) + } + _ => panic() + } + + let lifted2240 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2239 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2239) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2236, max : lifted2238, unit : lifted2240}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted2241) + } + 6 => { + + let lifted2248 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2243 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2242 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2242) + } + _ => panic() + } + + let lifted2245 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2244 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2244) + } + _ => panic() + } + + let lifted2247 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2246 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2246) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2243, max : lifted2245, unit : lifted2247}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted2248) + } + 7 => { + + let lifted2255 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2250 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2249 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2249) + } + _ => panic() + } + + let lifted2252 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2251 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2251) + } + _ => panic() + } + + let lifted2254 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2253 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2253) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2250, max : lifted2252, unit : lifted2254}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2255) + } + 8 => { + + let lifted2262 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2257 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2256 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2256) + } + _ => panic() + } + + let lifted2259 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2258 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2258) + } + _ => panic() + } + + let lifted2261 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2260 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2260) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2257, max : lifted2259, unit : lifted2261}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2262) + } + 9 => { + + let lifted2269 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2264 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2263 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2263) + } + _ => panic() + } + + let lifted2266 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2265 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2265) + } + _ => panic() + } + + let lifted2268 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2267 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2267) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2264, max : lifted2266, unit : lifted2268}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2269) + } + 10 => { + + let lifted2276 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2271 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2270 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2270) + } + _ => panic() + } + + let lifted2273 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2272 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2272) + } + _ => panic() + } + + let lifted2275 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2274 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2274) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2271, max : lifted2273, unit : lifted2275}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted2276) + } + 11 => { + + let lifted2283 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2278 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2277 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2277) + } + _ => panic() + } + + let lifted2280 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2279 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2279) + } + _ => panic() + } + + let lifted2282 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2281 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2281) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2278, max : lifted2280, unit : lifted2282}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted2283) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array2298 : Array[@types.NamedFieldType] = []; + for index2299 = 0; index2299 < (mbt_ffi_load32((iter_base) + 12)); index2299 = index2299 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2299 * 68) + + let result2284 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2286 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2285 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2285) + } + _ => panic() + } + + let array2288 : Array[String] = []; + for index2289 = 0; index2289 < (mbt_ffi_load32((iter_base) + 28)); index2289 = index2289 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2289 * 8) + + let result2287 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2288.push(result2287) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array2291 : Array[String] = []; + for index2292 = 0; index2292 < (mbt_ffi_load32((iter_base) + 36)); index2292 = index2292 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2292 * 8) + + let result2290 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2291.push(result2290) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted2294 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result2293 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result2293) + } + _ => panic() + } + + let lifted2297 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted2296 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2295 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result2295) + } + _ => panic() + } + + Option::Some(lifted2296) + } + _ => panic() + } + + array2298.push(@types.NamedFieldType::{name : result2284, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2286, aliases : array2288, examples : array2291, deprecated : lifted2294, role : lifted2297}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array2298) + } + 15 => { + + let array2315 : Array[@types.VariantCaseType] = []; + for index2316 = 0; index2316 < (mbt_ffi_load32((iter_base) + 12)); index2316 = index2316 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2316 * 72) + + let result2300 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2301 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2303 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2302 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2302) + } + _ => panic() + } + + let array2305 : Array[String] = []; + for index2306 = 0; index2306 < (mbt_ffi_load32((iter_base) + 32)); index2306 = index2306 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2306 * 8) + + let result2304 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2305.push(result2304) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2308 : Array[String] = []; + for index2309 = 0; index2309 < (mbt_ffi_load32((iter_base) + 40)); index2309 = index2309 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2309 * 8) + + let result2307 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2308.push(result2307) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted2311 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2310 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2310) + } + _ => panic() + } + + let lifted2314 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted2313 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2312 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result2312) + } + _ => panic() + } + + Option::Some(lifted2313) + } + _ => panic() + } + + array2315.push(@types.VariantCaseType::{name : result2300, payload : lifted2301, metadata : @types.MetadataEnvelope::{doc : lifted2303, aliases : array2305, examples : array2308, deprecated : lifted2311, role : lifted2314}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array2315) + } + 16 => { + + let array2318 : Array[String] = []; + for index2319 = 0; index2319 < (mbt_ffi_load32((iter_base) + 12)); index2319 = index2319 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2319 * 8) + + let result2317 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2318.push(result2317) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array2318) + } + 17 => { + + let array2321 : Array[String] = []; + for index2322 = 0; index2322 < (mbt_ffi_load32((iter_base) + 12)); index2322 = index2322 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2322 * 8) + + let result2320 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2321.push(result2320) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array2321) + } + 18 => { + + let array2323 : Array[Int] = []; + for index2324 = 0; index2324 < (mbt_ffi_load32((iter_base) + 12)); index2324 = index2324 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2324 * 4) + + array2323.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array2323) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted2325 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2326 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2325, err : lifted2326}) + } + 24 => { + + let lifted2330 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2328 : Array[String] = []; + for index2329 = 0; index2329 < (mbt_ffi_load32((iter_base) + 16)); index2329 = index2329 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2329 * 8) + + let result2327 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2328.push(result2327) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2328) + } + _ => panic() + } + + let lifted2331 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2332 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2334 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2333 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2333) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2330, min_length : lifted2331, max_length : lifted2332, regex : lifted2334}) + } + 25 => { + + let lifted2338 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2336 : Array[String] = []; + for index2337 = 0; index2337 < (mbt_ffi_load32((iter_base) + 16)); index2337 = index2337 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2337 * 8) + + let result2335 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2336.push(result2335) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2336) + } + _ => panic() + } + + let lifted2339 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2340 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2338, min_bytes : lifted2339, max_bytes : lifted2340}) + } + 26 => { + + let lifted2344 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array2342 : Array[String] = []; + for index2343 = 0; index2343 < (mbt_ffi_load32((iter_base) + 20)); index2343 = index2343 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2343 * 8) + + let result2341 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2342.push(result2341) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array2342) + } + _ => panic() + } + + let lifted2348 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array2346 : Array[String] = []; + for index2347 = 0; index2347 < (mbt_ffi_load32((iter_base) + 32)); index2347 = index2347 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2347 * 8) + + let result2345 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2346.push(result2345) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2346) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2344, allowed_extensions : lifted2348}) + } + 27 => { + + let lifted2352 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2350 : Array[String] = []; + for index2351 = 0; index2351 < (mbt_ffi_load32((iter_base) + 16)); index2351 = index2351 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2351 * 8) + + let result2349 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2350.push(result2349) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2350) + } + _ => panic() + } + + let lifted2356 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2354 : Array[String] = []; + for index2355 = 0; index2355 < (mbt_ffi_load32((iter_base) + 28)); index2355 = index2355 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2355 * 8) + + let result2353 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2354.push(result2353) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2354) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2352, allowed_hosts : lifted2356}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2357 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2359 : Array[String] = []; + for index2360 = 0; index2360 < (mbt_ffi_load32((iter_base) + 20)); index2360 = index2360 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2360 * 8) + + let result2358 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2359.push(result2358) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2362 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2361 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2361}) + } + _ => panic() + } + + let lifted2364 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result2363 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2363}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2357, allowed_suffixes : array2359, min : lifted2362, max : lifted2364}) + } + 31 => { + + let array2388 : Array[@types.UnionBranch] = []; + for index2389 = 0; index2389 < (mbt_ffi_load32((iter_base) + 12)); index2389 = index2389 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2389 * 92) + + let result2365 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2374 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2366 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2366) + } + 1 => { + + let result2367 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result2367) + } + 2 => { + + let result2368 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result2368) + } + 3 => { + + let result2369 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result2369) + } + 4 => { + + let result2370 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted2372 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2371 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result2371) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2370, literal : lifted2372}) + } + 5 => { + + let result2373 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result2373) + } + _ => panic() + } + + let lifted2376 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2375 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2375) + } + _ => panic() + } + + let array2378 : Array[String] = []; + for index2379 = 0; index2379 < (mbt_ffi_load32((iter_base) + 52)); index2379 = index2379 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2379 * 8) + + let result2377 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2378.push(result2377) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2381 : Array[String] = []; + for index2382 = 0; index2382 < (mbt_ffi_load32((iter_base) + 60)); index2382 = index2382 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2382 * 8) + + let result2380 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2381.push(result2380) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted2384 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2383 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2383) + } + _ => panic() + } + + let lifted2387 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted2386 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2385 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result2385) + } + _ => panic() + } + + Option::Some(lifted2386) + } + _ => panic() + } + + array2388.push(@types.UnionBranch::{tag : result2365, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2374, metadata : @types.MetadataEnvelope::{doc : lifted2376, aliases : array2378, examples : array2381, deprecated : lifted2384, role : lifted2387}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2388}) + } + 32 => { + + let lifted2391 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2390 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2390) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2391}) + } + 33 => { + + let lifted2393 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2392 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2392) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2393}) + } + 34 => { + + let lifted2394 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted2394) + } + 35 => { + + let lifted2395 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted2395) + } + _ => panic() + } + + let lifted2398 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result2397 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result2397) + } + _ => panic() + } + + let array2400 : Array[String] = []; + for index2401 = 0; index2401 < (mbt_ffi_load32((iter_base) + 104)); index2401 = index2401 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2401 * 8) + + let result2399 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2400.push(result2399) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array2403 : Array[String] = []; + for index2404 = 0; index2404 < (mbt_ffi_load32((iter_base) + 112)); index2404 = index2404 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2404 * 8) + + let result2402 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2403.push(result2402) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted2406 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result2405 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result2405) + } + _ => panic() + } + + let lifted2409 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted2408 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2407 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result2407) + } + _ => panic() + } + + Option::Some(lifted2408) + } + _ => panic() + } + + array2410.push(@types.SchemaTypeNode::{body : lifted2396, metadata : @types.MetadataEnvelope::{doc : lifted2398, aliases : array2400, examples : array2403, deprecated : lifted2406, role : lifted2409}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2415 : Array[@types.SchemaTypeDef] = []; + for index2416 = 0; index2416 < (mbt_ffi_load32((iter_base) + 60)); index2416 = index2416 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2416 * 24) + + let result2412 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2414 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2413 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2413) + } + _ => panic() + } + + array2415.push(@types.SchemaTypeDef::{id : result2412, name : lifted2414, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let array2446 : Array[@types.SchemaValueNode] = []; + for index2447 = 0; index2447 < (mbt_ffi_load32((iter_base) + 72)); index2447 = index2447 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index2447 * 32) + + let lifted2445 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result2417 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result2417) + } + 13 => { + + let array2418 : Array[Int] = []; + for index2419 = 0; index2419 < (mbt_ffi_load32((iter_base) + 12)); index2419 = index2419 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2419 * 4) + + array2418.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array2418) + } + 14 => { + + let lifted2420 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2420}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array2421 : Array[Bool] = []; + for index2422 = 0; index2422 < (mbt_ffi_load32((iter_base) + 12)); index2422 = index2422 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2422 * 1) + + array2421.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array2421) + } + 17 => { + + let array2423 : Array[Int] = []; + for index2424 = 0; index2424 < (mbt_ffi_load32((iter_base) + 12)); index2424 = index2424 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2424 * 4) + + array2423.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array2423) + } + 18 => { + + let array2425 : Array[Int] = []; + for index2426 = 0; index2426 < (mbt_ffi_load32((iter_base) + 12)); index2426 = index2426 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2426 * 4) + + array2425.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array2425) + } + 19 => { + + let array2427 : Array[Int] = []; + for index2428 = 0; index2428 < (mbt_ffi_load32((iter_base) + 12)); index2428 = index2428 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2428 * 4) + + array2427.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array2427) + } + 20 => { + + let array2429 : Array[@types.MapEntry] = []; + for index2430 = 0; index2430 < (mbt_ffi_load32((iter_base) + 12)); index2430 = index2430 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2430 * 8) + + array2429.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array2429) + } + 21 => { + + let lifted2431 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted2431) + } + 22 => { + + let lifted2434 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted2432 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted2432) + } + 1 => { + + let lifted2433 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted2433) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted2434) + } + 23 => { + + let result2435 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2437 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2436 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2436) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2435, language : lifted2437}) + } + 24 => { + + let result2438 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2440 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2439 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2439) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2438, mime_type : lifted2440}) + } + 25 => { + + let result2441 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result2441) + } + 26 => { + + let result2442 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result2442) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result2443 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2443}) + } + 30 => { + + let result2444 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2444, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array2446.push(lifted2445) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) + + let result2448 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 80), mbt_ffi_load32((iter_base) + 84)) + + let array2450 : Array[String] = []; + for index2451 = 0; index2451 < (mbt_ffi_load32((iter_base) + 92)); index2451 = index2451 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index2451 * 8) + + let result2449 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2450.push(result2449) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + let array2465 : Array[Array[SpanData]] = []; + for index2466 = 0; index2466 < (mbt_ffi_load32((iter_base) + 100)); index2466 = index2466 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index2466 * 8) + + let array2463 : Array[SpanData] = []; + for index2464 = 0; index2464 < (mbt_ffi_load32((iter_base) + 4)); index2464 = index2464 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index2464 * 80) + + let lifted2462 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2452 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2454 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2453 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2453) + } + _ => panic() + } + + let lifted2455 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array2459 : Array[@context.Attribute] = []; + for index2460 = 0; index2460 < (mbt_ffi_load32((iter_base) + 68)); index2460 = index2460 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2460 * 20) + + let result2456 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2458 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result2457 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result2457) + } + _ => panic() + } + + array2459.push(@context.Attribute::{key : result2456, value : lifted2458}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result2452, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted2454, linked_context : lifted2455, attributes : array2459, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result2461 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result2461}) + } + _ => panic() + } + + array2463.push(lifted2462) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array2465.push(array2463) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) + + AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{idempotency_key : result2212, method_name : result2213, function_input : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2410, defs : array2415, root : mbt_ffi_load32((iter_base) + 64)}, value : @types.SchemaValueTree::{value_nodes : array2446, root : mbt_ffi_load32((iter_base) + 76)}}, trace_id : result2448, trace_states : array2450, invocation_context : array2465}) + } + 2 => { + + AgentInvocation::SaveSnapshot + } + 3 => { + + let result2467 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2468 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{snapshot : SnapshotData::{data : result2467, mime_type : result2468}}) + } + 4 => { + + let result2469 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{idempotency_key : result2469}) + } + 5 => { + + AgentInvocation::ManualUpdate(ManualUpdateParameters::{target_revision : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + _ => panic() + } + + PublicOplogEntry::PendingAgentInvocation(PendingAgentInvocationParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, invocation : lifted2470}) + } + 15 => { + + let lifted2473 = match (mbt_ffi_load8_u((iter_base) + 32)) { + 0 => { + + UpdateDescription::AutoUpdate + } + 1 => { + + let result2471 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + let result2472 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + UpdateDescription::SnapshotBased(@host.Snapshot::{payload : result2471, mime_type : result2472}) + } + _ => panic() + } + + PublicOplogEntry::PendingUpdate(PendingUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), description : lifted2473}) + } + 16 => { + + let array2480 : Array[PluginInstallationDescription] = []; + for index2481 = 0; index2481 < (mbt_ffi_load32((iter_base) + 44)); index2481 = index2481 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 40)) + (index2481 * 48) + + let result2474 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + let result2475 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let array2478 : Array[(String, String)] = []; + for index2479 = 0; index2479 < (mbt_ffi_load32((iter_base) + 40)); index2479 = index2479 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2479 * 16) + + let result2476 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2477 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2478.push((result2476, result2477)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + array2480.push(PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 0)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 16), plugin_name : result2474, plugin_version : result2475, parameters : array2478}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 40)) + + PublicOplogEntry::SuccessfulUpdate(SuccessfulUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), new_component_size : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), new_active_plugins : array2480}) + } + 17 => { + + let lifted2483 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2482 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2482) + } + _ => panic() + } + + PublicOplogEntry::FailedUpdate(FailedUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), details : lifted2483}) + } + 18 => { + + PublicOplogEntry::GrowMemory(GrowMemoryParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, delta : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 19 => { + + PublicOplogEntry::FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, delta : mbt_ffi_load64((iter_base) + 24)}) + } + 20 => { + + let result2484 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2485 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + PublicOplogEntry::CreateResource(CreateResourceParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, id : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), name : result2484, owner : result2485}) + } + 21 => { + + let result2486 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let result2487 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + PublicOplogEntry::DropResource(DropResourceParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, id : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), name : result2486, owner : result2487}) + } + 22 => { + + let result2488 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let result2489 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + PublicOplogEntry::Log(LogParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, level : LogLevel::from(mbt_ffi_load8_u((iter_base) + 24)), context : result2488, message : result2489}) + } + 23 => { + + PublicOplogEntry::Restart(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}}) + } + 24 => { + + let result2490 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + let result2491 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) + + let array2494 : Array[(String, String)] = []; + for index2495 = 0; index2495 < (mbt_ffi_load32((iter_base) + 64)); index2495 = index2495 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2495 * 16) + + let result2492 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2493 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2494.push((result2492, result2493)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + PublicOplogEntry::ActivatePlugin(ActivatePluginParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 40), plugin_name : result2490, plugin_version : result2491, parameters : array2494}}) + } + 25 => { + + let result2496 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + let result2497 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) + + let array2500 : Array[(String, String)] = []; + for index2501 = 0; index2501 < (mbt_ffi_load32((iter_base) + 64)); index2501 = index2501 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2501 * 16) + + let result2498 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2499 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2500.push((result2498, result2499)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + PublicOplogEntry::DeactivatePlugin(DeactivatePluginParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 40), plugin_name : result2496, plugin_version : result2497, parameters : array2500}}) + } + 26 => { + + PublicOplogEntry::Revert(RevertParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, dropped_region : OplogRegion::{start : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), end : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}) + } + 27 => { + + let result2502 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::CancelPendingInvocation(CancelPendingInvocationParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, idempotency_key : result2502}) + } + 28 => { + + let result2503 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let lifted2505 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result2504 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result2504) + } + _ => panic() + } + + let lifted2507 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2506 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2506) + } + _ => panic() + } + + let array2511 : Array[@context.Attribute] = []; + for index2512 = 0; index2512 < (mbt_ffi_load32((iter_base) + 60)); index2512 = index2512 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2512 * 20) + + let result2508 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2510 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result2509 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result2509) + } + _ => panic() + } + + array2511.push(@context.Attribute::{key : result2508, value : lifted2510}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + PublicOplogEntry::StartSpan(StartSpanParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, span_id : result2503, parent : lifted2505, linked_context_id : lifted2507, attributes : array2511}) + } + 29 => { + + let result2513 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::FinishSpan(FinishSpanParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, span_id : result2513}) + } + 30 => { + + let result2514 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let result2515 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + let lifted2517 = match (mbt_ffi_load8_u((iter_base) + 40)) { + 0 => { + + let result2516 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + @context.AttributeValue::String(result2516) + } + _ => panic() + } + + PublicOplogEntry::SetSpanAttribute(SetSpanAttributeParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, span_id : result2514, key : result2515, value : lifted2517}) + } + 31 => { + + let result2518 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::BeginRemoteTransaction(BeginRemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, transaction_id : result2518}) + } + 32 => { + + PublicOplogEntry::PreCommitRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 33 => { + + PublicOplogEntry::PreRollbackRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 34 => { + + PublicOplogEntry::CommittedRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 35 => { + + PublicOplogEntry::RolledBackRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 36 => { + + let result2519 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let result2520 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + PublicOplogEntry::Snapshot(SnapshotParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, data : SnapshotData::{data : result2519, mime_type : result2520}}) + } + 37 => { + + let result2521 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + let result2522 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) + + let array2525 : Array[(String, String)] = []; + for index2526 = 0; index2526 < (mbt_ffi_load32((iter_base) + 64)); index2526 = index2526 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 60)) + (index2526 * 16) + + let result2523 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2524 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2525.push((result2523, result2524)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 60)) + + let result2527 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 88), mbt_ffi_load32((iter_base) + 92)) + + PublicOplogEntry::OplogProcessorCheckpoint(OplogProcessorCheckpointParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 40), plugin_name : result2521, plugin_version : result2522, parameters : array2525}, target_agent_id : @types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 72)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64()}}, agent_id : result2527}, confirmed_up_to : (mbt_ffi_load64((iter_base) + 96)).reinterpret_as_uint64(), sending_up_to : (mbt_ffi_load64((iter_base) + 104)).reinterpret_as_uint64(), last_batch_start : (mbt_ffi_load64((iter_base) + 112)).reinterpret_as_uint64()}) + } + 38 => { + + let result2528 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + let array2560 : Array[@retry.PredicateNode] = []; + for index2561 = 0; index2561 < (mbt_ffi_load32((iter_base) + 40)); index2561 = index2561 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2561 * 32) + + let lifted2559 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2529 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2531 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2530 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2530) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropEq(@retry.PropertyComparison::{property_name : result2529, value : lifted2531}) + } + 1 => { + + let result2532 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2534 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2533 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2533) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{property_name : result2532, value : lifted2534}) + } + 2 => { + + let result2535 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2537 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2536 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2536) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGt(@retry.PropertyComparison::{property_name : result2535, value : lifted2537}) + } + 3 => { + + let result2538 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2540 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2539 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2539) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGte(@retry.PropertyComparison::{property_name : result2538, value : lifted2540}) + } + 4 => { + + let result2541 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2543 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2542 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2542) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLt(@retry.PropertyComparison::{property_name : result2541, value : lifted2543}) + } + 5 => { + + let result2544 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2546 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2545 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2545) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLte(@retry.PropertyComparison::{property_name : result2544, value : lifted2546}) + } + 6 => { + + let result2547 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateNode::PropExists(result2547) + } + 7 => { + + let result2548 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2551 : Array[@retry.PredicateValue] = []; + for index2552 = 0; index2552 < (mbt_ffi_load32((iter_base) + 20)); index2552 = index2552 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2552 * 16) + + let lifted2550 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2549 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateValue::Text(result2549) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 8)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + _ => panic() + } + + array2551.push(lifted2550) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{property_name : result2548, values : array2551}) + } + 8 => { + + let result2553 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result2554 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{property_name : result2553, pattern : result2554}) + } + 9 => { + + let result2555 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result2556 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{property_name : result2555, pattern : result2556}) + } + 10 => { + + let result2557 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result2558 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropContains(@retry.PropertyPattern::{property_name : result2557, pattern : result2558}) + } + 11 => { + + @retry.PredicateNode::PredAnd((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { + + @retry.PredicateNode::PredOr((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { + + @retry.PredicateNode::PredNot(mbt_ffi_load32((iter_base) + 8)) + } + 14 => { + + @retry.PredicateNode::PredTrue + } + 15 => { + + @retry.PredicateNode::PredFalse + } + _ => panic() + } + + array2560.push(lifted2559) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array2596 : Array[@retry.PolicyNode] = []; + for index2597 = 0; index2597 < (mbt_ffi_load32((iter_base) + 48)); index2597 = index2597 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index2597 * 32) + + let lifted2595 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @retry.PolicyNode::Periodic((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 1 => { + + @retry.PolicyNode::Exponential(@retry.ExponentialConfig::{base_delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), factor : mbt_ffi_loadf64((iter_base) + 16)}) + } + 2 => { + + @retry.PolicyNode::Fibonacci(@retry.FibonacciConfig::{first : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), second : (mbt_ffi_load64((iter_base) + 16)).reinterpret_as_uint64()}) + } + 3 => { + + @retry.PolicyNode::Immediate + } + 4 => { + + @retry.PolicyNode::Never + } + 5 => { + + @retry.PolicyNode::CountBox(@retry.CountBoxConfig::{max_retries : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), inner : mbt_ffi_load32((iter_base) + 12)}) + } + 6 => { + + @retry.PolicyNode::TimeBox(@retry.TimeBoxConfig::{limit : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 7 => { + + @retry.PolicyNode::ClampDelay(@retry.ClampConfig::{min_delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), max_delay : (mbt_ffi_load64((iter_base) + 16)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 24)}) + } + 8 => { + + @retry.PolicyNode::AddDelay(@retry.AddDelayConfig::{delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 9 => { + + @retry.PolicyNode::Jitter(@retry.JitterConfig::{factor : mbt_ffi_loadf64((iter_base) + 8), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 10 => { + + let array2593 : Array[@retry.PredicateNode] = []; + for index2594 = 0; index2594 < (mbt_ffi_load32((iter_base) + 12)); index2594 = index2594 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2594 * 32) + + let lifted2592 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2562 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2564 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2563 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2563) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropEq(@retry.PropertyComparison::{property_name : result2562, value : lifted2564}) + } + 1 => { + + let result2565 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2567 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2566) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{property_name : result2565, value : lifted2567}) + } + 2 => { + + let result2568 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2570 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2569 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2569) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGt(@retry.PropertyComparison::{property_name : result2568, value : lifted2570}) + } + 3 => { + + let result2571 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2573 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2572 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2572) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropGte(@retry.PropertyComparison::{property_name : result2571, value : lifted2573}) + } + 4 => { + + let result2574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2576 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2575 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2575) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLt(@retry.PropertyComparison::{property_name : result2574, value : lifted2576}) + } + 5 => { + + let result2577 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2579 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { + + let result2578 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2578) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLte(@retry.PropertyComparison::{property_name : result2577, value : lifted2579}) + } + 6 => { + + let result2580 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateNode::PropExists(result2580) + } + 7 => { + + let result2581 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2584 : Array[@retry.PredicateValue] = []; + for index2585 = 0; index2585 < (mbt_ffi_load32((iter_base) + 20)); index2585 = index2585 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2585 * 16) + + let lifted2583 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result2582 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @retry.PredicateValue::Text(result2582) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 8)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + _ => panic() + } + + array2584.push(lifted2583) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{property_name : result2581, values : array2584}) + } + 8 => { + + let result2586 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result2587 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{property_name : result2586, pattern : result2587}) + } + 9 => { + + let result2588 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result2589 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{property_name : result2588, pattern : result2589}) + } + 10 => { + + let result2590 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let result2591 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @retry.PredicateNode::PropContains(@retry.PropertyPattern::{property_name : result2590, pattern : result2591}) + } + 11 => { + + @retry.PredicateNode::PredAnd((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { + + @retry.PredicateNode::PredOr((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { + + @retry.PredicateNode::PredNot(mbt_ffi_load32((iter_base) + 8)) + } + 14 => { + + @retry.PredicateNode::PredTrue + } + 15 => { + + @retry.PredicateNode::PredFalse + } + _ => panic() + } + + array2593.push(lifted2592) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @retry.PolicyNode::FilteredOn(@retry.FilteredConfig::{predicate : @retry.RetryPredicate::{nodes : array2593}, inner : mbt_ffi_load32((iter_base) + 16)}) + } + 11 => { + + @retry.PolicyNode::AndThen((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { + + @retry.PolicyNode::PolicyUnion((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { + + @retry.PolicyNode::PolicyIntersect((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + _ => panic() + } + + array2596.push(lifted2595) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + PublicOplogEntry::SetRetryPolicy(SetRetryPolicyParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, policy : @retry.NamedRetryPolicy::{name : result2528, priority : (mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint(), predicate : @retry.RetryPredicate::{nodes : array2560}, policy : @retry.RetryPolicy::{nodes : array2596}}}) + } + 39 => { + + let result2598 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + PublicOplogEntry::RemoveRetryPolicy(RemoveRetryPolicyParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, name : result2598}) + } + 40 => { + + let lifted2599 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + QueuedCardEvent::Install(QueuedCardEventInstall::{card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}}) + } + 1 => { + + QueuedCardEvent::Revoke(QueuedCardEventRevoke::{card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}}) + } + _ => panic() + } + + PublicOplogEntry::CardEventQueued(CardEventQueuedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, event : lifted2599}) + } + 41 => { + + let lifted2600 : UInt64? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + PublicOplogEntry::CardInstalled(CardInstalledParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, queued_event_index : lifted2600, card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 48)).reinterpret_as_uint64()}}}) + } + 42 => { + + PublicOplogEntry::CardInstallFailed(CardInstallFailedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, queued_event_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}, reason : CardInstallFailure::from(mbt_ffi_load8_u((iter_base) + 48))}) + } + 43 => { + + PublicOplogEntry::CardRevoked(CardRevokedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, queued_event_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}}) + } + 44 => { + + PublicOplogEntry::CardExpired(CardExpiredParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}}}) + } + 45 => { + + let array2797 : Array[@types.SchemaTypeNode] = []; + for index2798 = 0; index2798 < (mbt_ffi_load32((iter_base) + 40)); index2798 = index2798 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2798 * 144) + + let lifted2783 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted2607 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2602 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2601 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2601) + } + _ => panic() + } + + let lifted2604 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2603 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2603) + } + _ => panic() + } + + let lifted2606 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2605 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2605) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2602, max : lifted2604, unit : lifted2606}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted2607) + } + 3 => { + + let lifted2614 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2609 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2608 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2608) + } + _ => panic() + } + + let lifted2611 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2610 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2610) + } + _ => panic() + } + + let lifted2613 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2612 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2612) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2609, max : lifted2611, unit : lifted2613}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted2614) + } + 4 => { + + let lifted2621 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2616 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2615 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2615) + } + _ => panic() + } + + let lifted2618 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2617 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2617) + } + _ => panic() + } + + let lifted2620 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2619 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2619) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2616, max : lifted2618, unit : lifted2620}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted2621) + } + 5 => { + + let lifted2628 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2623 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2622 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2622) + } + _ => panic() + } + + let lifted2625 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2624 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2624) + } + _ => panic() + } + + let lifted2627 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2626 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2626) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2623, max : lifted2625, unit : lifted2627}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted2628) + } + 6 => { + + let lifted2635 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2630 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2629 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2629) + } + _ => panic() + } + + let lifted2632 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2631 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2631) + } + _ => panic() + } + + let lifted2634 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2633 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2633) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2630, max : lifted2632, unit : lifted2634}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted2635) + } + 7 => { + + let lifted2642 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2637 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2636 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2636) + } + _ => panic() + } + + let lifted2639 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2638 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2638) + } + _ => panic() + } + + let lifted2641 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2640 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2640) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2637, max : lifted2639, unit : lifted2641}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2642) + } + 8 => { + + let lifted2649 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2644 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2643 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2643) + } + _ => panic() + } + + let lifted2646 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2645 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2645) + } + _ => panic() + } + + let lifted2648 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2647 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2647) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2644, max : lifted2646, unit : lifted2648}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2649) + } + 9 => { + + let lifted2656 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2651 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2650 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2650) + } + _ => panic() + } + + let lifted2653 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2652 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2652) + } + _ => panic() + } + + let lifted2655 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2654 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2654) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2651, max : lifted2653, unit : lifted2655}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2656) + } + 10 => { + + let lifted2663 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2658 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2657 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2657) + } + _ => panic() + } + + let lifted2660 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2659 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2659) + } + _ => panic() + } + + let lifted2662 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2661 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2661) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2658, max : lifted2660, unit : lifted2662}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted2663) + } + 11 => { + + let lifted2670 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2665 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2664 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2664) + } + _ => panic() + } + + let lifted2667 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2666 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2666) + } + _ => panic() + } + + let lifted2669 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2668 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2668) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2665, max : lifted2667, unit : lifted2669}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted2670) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array2685 : Array[@types.NamedFieldType] = []; + for index2686 = 0; index2686 < (mbt_ffi_load32((iter_base) + 12)); index2686 = index2686 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2686 * 68) + + let result2671 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2673 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2672 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2672) + } + _ => panic() + } + + let array2675 : Array[String] = []; + for index2676 = 0; index2676 < (mbt_ffi_load32((iter_base) + 28)); index2676 = index2676 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2676 * 8) + + let result2674 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2675.push(result2674) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array2678 : Array[String] = []; + for index2679 = 0; index2679 < (mbt_ffi_load32((iter_base) + 36)); index2679 = index2679 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2679 * 8) + + let result2677 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2678.push(result2677) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted2681 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result2680 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result2680) + } + _ => panic() + } + + let lifted2684 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted2683 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2682 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result2682) + } + _ => panic() + } + + Option::Some(lifted2683) + } + _ => panic() + } + + array2685.push(@types.NamedFieldType::{name : result2671, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2673, aliases : array2675, examples : array2678, deprecated : lifted2681, role : lifted2684}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array2685) + } + 15 => { + + let array2702 : Array[@types.VariantCaseType] = []; + for index2703 = 0; index2703 < (mbt_ffi_load32((iter_base) + 12)); index2703 = index2703 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2703 * 72) + + let result2687 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2688 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2690 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2689 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2689) + } + _ => panic() + } + + let array2692 : Array[String] = []; + for index2693 = 0; index2693 < (mbt_ffi_load32((iter_base) + 32)); index2693 = index2693 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2693 * 8) + + let result2691 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2692.push(result2691) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array2695 : Array[String] = []; + for index2696 = 0; index2696 < (mbt_ffi_load32((iter_base) + 40)); index2696 = index2696 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2696 * 8) + + let result2694 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2695.push(result2694) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted2698 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result2697 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result2697) + } + _ => panic() + } + + let lifted2701 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted2700 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2699 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result2699) + } + _ => panic() + } + + Option::Some(lifted2700) + } + _ => panic() + } + + array2702.push(@types.VariantCaseType::{name : result2687, payload : lifted2688, metadata : @types.MetadataEnvelope::{doc : lifted2690, aliases : array2692, examples : array2695, deprecated : lifted2698, role : lifted2701}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array2702) + } + 16 => { + + let array2705 : Array[String] = []; + for index2706 = 0; index2706 < (mbt_ffi_load32((iter_base) + 12)); index2706 = index2706 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2706 * 8) + + let result2704 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2705.push(result2704) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array2705) + } + 17 => { + + let array2708 : Array[String] = []; + for index2709 = 0; index2709 < (mbt_ffi_load32((iter_base) + 12)); index2709 = index2709 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2709 * 8) + + let result2707 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2708.push(result2707) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array2708) + } + 18 => { + + let array2710 : Array[Int] = []; + for index2711 = 0; index2711 < (mbt_ffi_load32((iter_base) + 12)); index2711 = index2711 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2711 * 4) + + array2710.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array2710) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted2712 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted2713 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2712, err : lifted2713}) + } + 24 => { + + let lifted2717 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2715 : Array[String] = []; + for index2716 = 0; index2716 < (mbt_ffi_load32((iter_base) + 16)); index2716 = index2716 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2716 * 8) + + let result2714 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2715.push(result2714) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2715) + } + _ => panic() + } + + let lifted2718 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2719 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2721 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2720 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2720) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2717, min_length : lifted2718, max_length : lifted2719, regex : lifted2721}) + } + 25 => { + + let lifted2725 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2723 : Array[String] = []; + for index2724 = 0; index2724 < (mbt_ffi_load32((iter_base) + 16)); index2724 = index2724 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2724 * 8) + + let result2722 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2723.push(result2722) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2723) + } + _ => panic() + } + + let lifted2726 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted2727 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2725, min_bytes : lifted2726, max_bytes : lifted2727}) + } + 26 => { + + let lifted2731 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array2729 : Array[String] = []; + for index2730 = 0; index2730 < (mbt_ffi_load32((iter_base) + 20)); index2730 = index2730 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2730 * 8) + + let result2728 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2729.push(result2728) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array2729) + } + _ => panic() + } + + let lifted2735 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array2733 : Array[String] = []; + for index2734 = 0; index2734 < (mbt_ffi_load32((iter_base) + 32)); index2734 = index2734 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2734 * 8) + + let result2732 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2733.push(result2732) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2733) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2731, allowed_extensions : lifted2735}) + } + 27 => { + + let lifted2739 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2737 : Array[String] = []; + for index2738 = 0; index2738 < (mbt_ffi_load32((iter_base) + 16)); index2738 = index2738 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2738 * 8) + + let result2736 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2737.push(result2736) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2737) + } + _ => panic() + } + + let lifted2743 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2741 : Array[String] = []; + for index2742 = 0; index2742 < (mbt_ffi_load32((iter_base) + 28)); index2742 = index2742 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2742 * 8) + + let result2740 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2741.push(result2740) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2741) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2739, allowed_hosts : lifted2743}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2744 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2746 : Array[String] = []; + for index2747 = 0; index2747 < (mbt_ffi_load32((iter_base) + 20)); index2747 = index2747 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2747 * 8) + + let result2745 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2746.push(result2745) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2749 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2748 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2748}) + } + _ => panic() + } + + let lifted2751 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result2750 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2750}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2744, allowed_suffixes : array2746, min : lifted2749, max : lifted2751}) + } + 31 => { + + let array2775 : Array[@types.UnionBranch] = []; + for index2776 = 0; index2776 < (mbt_ffi_load32((iter_base) + 12)); index2776 = index2776 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2776 * 92) + + let result2752 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2761 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2753 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2753) + } + 1 => { + + let result2754 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result2754) + } + 2 => { + + let result2755 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result2755) + } + 3 => { + + let result2756 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result2756) + } + 4 => { + + let result2757 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted2759 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result2758 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result2758) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2757, literal : lifted2759}) + } + 5 => { + + let result2760 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result2760) + } + _ => panic() + } + + let lifted2763 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result2762 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2762) + } + _ => panic() + } + + let array2765 : Array[String] = []; + for index2766 = 0; index2766 < (mbt_ffi_load32((iter_base) + 52)); index2766 = index2766 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2766 * 8) + + let result2764 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2765.push(result2764) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array2768 : Array[String] = []; + for index2769 = 0; index2769 < (mbt_ffi_load32((iter_base) + 60)); index2769 = index2769 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2769 * 8) + + let result2767 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2768.push(result2767) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted2771 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2770 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2770) + } + _ => panic() + } + + let lifted2774 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted2773 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2772 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result2772) + } + _ => panic() + } + + Option::Some(lifted2773) + } + _ => panic() + } + + array2775.push(@types.UnionBranch::{tag : result2752, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2761, metadata : @types.MetadataEnvelope::{doc : lifted2763, aliases : array2765, examples : array2768, deprecated : lifted2771, role : lifted2774}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2775}) + } + 32 => { + + let lifted2778 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result2777 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result2777) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2778}) + } + 33 => { + + let lifted2780 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2779 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2779) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2780}) + } + 34 => { + + let lifted2781 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted2781) + } + 35 => { + + let lifted2782 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted2782) + } + _ => panic() + } + + let lifted2785 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result2784 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result2784) + } + _ => panic() + } + + let array2787 : Array[String] = []; + for index2788 = 0; index2788 < (mbt_ffi_load32((iter_base) + 104)); index2788 = index2788 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2788 * 8) + + let result2786 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2787.push(result2786) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array2790 : Array[String] = []; + for index2791 = 0; index2791 < (mbt_ffi_load32((iter_base) + 112)); index2791 = index2791 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2791 * 8) + + let result2789 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2790.push(result2789) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted2793 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result2792 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result2792) + } + _ => panic() + } + + let lifted2796 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted2795 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result2794 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result2794) + } + _ => panic() + } + + Option::Some(lifted2795) + } + _ => panic() + } + + array2797.push(@types.SchemaTypeNode::{body : lifted2783, metadata : @types.MetadataEnvelope::{doc : lifted2785, aliases : array2787, examples : array2790, deprecated : lifted2793, role : lifted2796}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let array2802 : Array[@types.SchemaTypeDef] = []; + for index2803 = 0; index2803 < (mbt_ffi_load32((iter_base) + 48)); index2803 = index2803 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index2803 * 24) + + let result2799 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2801 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result2800 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result2800) + } + _ => panic() + } + + array2802.push(@types.SchemaTypeDef::{id : result2799, name : lifted2801, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array2833 : Array[@types.SchemaValueNode] = []; + for index2834 = 0; index2834 < (mbt_ffi_load32((iter_base) + 60)); index2834 = index2834 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2834 * 32) + + let lifted2832 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result2804 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result2804) + } + 13 => { + + let array2805 : Array[Int] = []; + for index2806 = 0; index2806 < (mbt_ffi_load32((iter_base) + 12)); index2806 = index2806 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2806 * 4) + + array2805.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array2805) + } + 14 => { + + let lifted2807 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2807}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array2808 : Array[Bool] = []; + for index2809 = 0; index2809 < (mbt_ffi_load32((iter_base) + 12)); index2809 = index2809 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2809 * 1) + + array2808.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array2808) + } + 17 => { + + let array2810 : Array[Int] = []; + for index2811 = 0; index2811 < (mbt_ffi_load32((iter_base) + 12)); index2811 = index2811 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2811 * 4) + + array2810.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array2810) + } + 18 => { + + let array2812 : Array[Int] = []; + for index2813 = 0; index2813 < (mbt_ffi_load32((iter_base) + 12)); index2813 = index2813 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2813 * 4) + + array2812.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array2812) + } + 19 => { + + let array2814 : Array[Int] = []; + for index2815 = 0; index2815 < (mbt_ffi_load32((iter_base) + 12)); index2815 = index2815 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2815 * 4) + + array2814.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array2814) + } + 20 => { + + let array2816 : Array[@types.MapEntry] = []; + for index2817 = 0; index2817 < (mbt_ffi_load32((iter_base) + 12)); index2817 = index2817 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2817 * 8) + + array2816.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array2816) + } + 21 => { + + let lifted2818 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted2818) + } + 22 => { + + let lifted2821 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted2819 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted2819) + } + 1 => { + + let lifted2820 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted2820) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted2821) + } + 23 => { + + let result2822 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2824 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2823 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2823) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2822, language : lifted2824}) + } + 24 => { + + let result2825 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted2827 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result2826 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result2826) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2825, mime_type : lifted2827}) + } + 25 => { + + let result2828 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result2828) + } + 26 => { + + let result2829 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result2829) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result2830 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2830}) + } + 30 => { + + let result2831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2831, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array2833.push(lifted2832) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + PublicOplogEntry::HostStreamFrame(HostStreamFrameParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, parent_start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64(), kind : HostStreamKind::from(mbt_ffi_load8_u((iter_base) + 32)), payload : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2797, defs : array2802, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array2833, root : mbt_ffi_load32((iter_base) + 64)}}}) + } + 46 => { + + PublicOplogEntry::CompletionDiscarded(CompletionDiscardedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + 47 => { + + PublicOplogEntry::CompletionDelivered(CompletionDeliveredParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 24)).reinterpret_as_uint64()}) + } + _ => panic() + } + + array2836.push(lifted2835) + } + mbt_ffi_free(mbt_ffi_load32((return_area) + 4)) + + Option::Some(array2836) + } + _ => panic() + } + let ret = lifted2838 + mbt_ffi_free(return_area) + return ret + +} +///| +pub fn SearchOplog::search_oplog(agent_id : @types.AgentId, text : String) -> SearchOplog { + + let ptr = mbt_ffi_str2ptr((agent_id).agent_id) + + let ptr0 = mbt_ffi_str2ptr(text) + let result : Int = wasmImportConstructorSearchOplog(((((agent_id).component_id).uuid).high_bits).reinterpret_as_int64(), ((((agent_id).component_id).uuid).low_bits).reinterpret_as_int64(), ptr, (agent_id).agent_id.length(), ptr0, text.length()); + let ret = SearchOplog::SearchOplog(result) + mbt_ffi_free(ptr) + mbt_ffi_free(ptr0) + return ret + +} +///| +pub fn SearchOplog::get_next(self : SearchOplog) -> Array[(UInt64, PublicOplogEntry)]? { + + let SearchOplog(handle) = self + let return_area = mbt_ffi_malloc(12) + wasmImportMethodSearchOplogGetNext(handle, return_area); + + let lifted2838 : Array[(UInt64, PublicOplogEntry)]? = match mbt_ffi_load8_u((return_area) + 0) { + 0 => Option::None + 1 => { + + let array2836 : Array[(UInt64, PublicOplogEntry)] = []; + for index2837 = 0; index2837 < (mbt_ffi_load32((return_area) + 8)); index2837 = index2837 + 1 { + let iter_base = (mbt_ffi_load32((return_area) + 4)) + (index2837 * 216) + + let lifted2835 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + let array : Array[(String, String)] = []; + for index = 0; index < (mbt_ffi_load32((iter_base) + 76)); index = index + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 72)) + (index * 16) + + let result0 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result1 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array.push((result0, result1)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 72)) + + let lifted : @types.AgentId? = match mbt_ffi_load8_u((iter_base) + 112) { + 0 => Option::None + 1 => { + + let result2 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + Option::Some(@types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 120)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 128)).reinterpret_as_uint64()}}, agent_id : result2}) + } + _ => panic() + } + + let array9 : Array[PluginInstallationDescription] = []; + for index10 = 0; index10 < (mbt_ffi_load32((iter_base) + 164)); index10 = index10 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 160)) + (index10 * 48) + + let result3 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + let result4 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + let array7 : Array[(String, String)] = []; + for index8 = 0; index8 < (mbt_ffi_load32((iter_base) + 40)); index8 = index8 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index8 * 16) + + let result5 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result6 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array7.push((result5, result6)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + array9.push(PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 0)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 16), plugin_name : result3, plugin_version : result4, parameters : array7}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 160)) + + let array248 : Array[LocalAgentConfigEntry] = []; + for index249 = 0; index249 < (mbt_ffi_load32((iter_base) + 172)); index249 = index249 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 168)) + (index249 * 40) + + let array12 : Array[String] = []; + for index13 = 0; index13 < (mbt_ffi_load32((iter_base) + 4)); index13 = index13 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index13 * 8) + + let result11 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array12.push(result11) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + let array210 : Array[@types.SchemaTypeNode] = []; + for index211 = 0; index211 < (mbt_ffi_load32((iter_base) + 12)); index211 = index211 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index211 * 144) + + let lifted196 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted20 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted15 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted14 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted14) + } + _ => panic() + } + + let lifted17 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted16 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted16) + } + _ => panic() + } + + let lifted19 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result18 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result18) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted15, max : lifted17, unit : lifted19}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted20) + } + 3 => { + + let lifted27 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted22 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted21 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted21) + } + _ => panic() + } + + let lifted24 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted23 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted23) + } + _ => panic() + } + + let lifted26 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result25 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result25) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted22, max : lifted24, unit : lifted26}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted27) + } + 4 => { + + let lifted34 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted29 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted28 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted28) + } + _ => panic() + } + + let lifted31 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted30 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted30) + } + _ => panic() + } + + let lifted33 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result32 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result32) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted29, max : lifted31, unit : lifted33}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted34) + } + 5 => { + + let lifted41 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted36 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted35 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted35) + } + _ => panic() + } + + let lifted38 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted37 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted37) + } + _ => panic() + } + + let lifted40 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result39 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result39) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted36, max : lifted38, unit : lifted40}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted41) + } + 6 => { + + let lifted48 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted43 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted42 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted42) + } + _ => panic() + } + + let lifted45 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted44 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted44) + } + _ => panic() + } + + let lifted47 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result46 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result46) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted43, max : lifted45, unit : lifted47}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted48) + } + 7 => { + + let lifted55 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted50 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted49 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted49) + } + _ => panic() + } + + let lifted52 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted51 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted51) + } + _ => panic() + } + + let lifted54 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result53 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result53) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted50, max : lifted52, unit : lifted54}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted55) + } + 8 => { + + let lifted62 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted57 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted56 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted56) + } + _ => panic() + } + + let lifted59 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted58 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted58) + } + _ => panic() + } + + let lifted61 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result60 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result60) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted57, max : lifted59, unit : lifted61}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted62) + } + 9 => { + + let lifted69 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted64 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted63 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted63) + } + _ => panic() + } + + let lifted66 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted65 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted65) + } + _ => panic() + } + + let lifted68 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result67 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result67) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted64, max : lifted66, unit : lifted68}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted69) + } + 10 => { + + let lifted76 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted71 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted70 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted70) + } + _ => panic() + } + + let lifted73 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted72 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted72) + } + _ => panic() + } + + let lifted75 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result74 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result74) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted71, max : lifted73, unit : lifted75}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted76) + } + 11 => { + + let lifted83 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted78 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted77 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted77) + } + _ => panic() + } + + let lifted80 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted79 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted79) + } + _ => panic() + } + + let lifted82 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result81 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result81) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted78, max : lifted80, unit : lifted82}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted83) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array98 : Array[@types.NamedFieldType] = []; + for index99 = 0; index99 < (mbt_ffi_load32((iter_base) + 12)); index99 = index99 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index99 * 68) + + let result84 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted86 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result85 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result85) + } + _ => panic() + } + + let array88 : Array[String] = []; + for index89 = 0; index89 < (mbt_ffi_load32((iter_base) + 28)); index89 = index89 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index89 * 8) + + let result87 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array88.push(result87) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array91 : Array[String] = []; + for index92 = 0; index92 < (mbt_ffi_load32((iter_base) + 36)); index92 = index92 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index92 * 8) + + let result90 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array91.push(result90) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted94 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result93 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result93) + } + _ => panic() + } + + let lifted97 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted96 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result95 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result95) + } + _ => panic() + } + + Option::Some(lifted96) + } + _ => panic() + } + + array98.push(@types.NamedFieldType::{name : result84, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted86, aliases : array88, examples : array91, deprecated : lifted94, role : lifted97}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array98) + } + 15 => { + + let array115 : Array[@types.VariantCaseType] = []; + for index116 = 0; index116 < (mbt_ffi_load32((iter_base) + 12)); index116 = index116 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index116 * 72) + + let result100 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted101 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted103 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result102 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result102) + } + _ => panic() + } + + let array105 : Array[String] = []; + for index106 = 0; index106 < (mbt_ffi_load32((iter_base) + 32)); index106 = index106 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index106 * 8) + + let result104 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array105.push(result104) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array108 : Array[String] = []; + for index109 = 0; index109 < (mbt_ffi_load32((iter_base) + 40)); index109 = index109 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index109 * 8) + + let result107 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array108.push(result107) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted111 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result110 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result110) + } + _ => panic() + } + + let lifted114 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted113 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result112 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result112) + } + _ => panic() + } + + Option::Some(lifted113) + } + _ => panic() + } + + array115.push(@types.VariantCaseType::{name : result100, payload : lifted101, metadata : @types.MetadataEnvelope::{doc : lifted103, aliases : array105, examples : array108, deprecated : lifted111, role : lifted114}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array115) + } + 16 => { + + let array118 : Array[String] = []; + for index119 = 0; index119 < (mbt_ffi_load32((iter_base) + 12)); index119 = index119 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index119 * 8) + + let result117 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array118.push(result117) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array118) + } + 17 => { + + let array121 : Array[String] = []; + for index122 = 0; index122 < (mbt_ffi_load32((iter_base) + 12)); index122 = index122 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index122 * 8) + + let result120 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array121.push(result120) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array121) + } + 18 => { + + let array123 : Array[Int] = []; + for index124 = 0; index124 < (mbt_ffi_load32((iter_base) + 12)); index124 = index124 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index124 * 4) + + array123.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array123) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted125 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted126 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted125, err : lifted126}) + } + 24 => { + + let lifted130 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array128 : Array[String] = []; + for index129 = 0; index129 < (mbt_ffi_load32((iter_base) + 16)); index129 = index129 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index129 * 8) + + let result127 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array128.push(result127) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array128) + } + _ => panic() + } + + let lifted131 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted132 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted134 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result133 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result133) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted130, min_length : lifted131, max_length : lifted132, regex : lifted134}) + } + 25 => { + + let lifted138 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array136 : Array[String] = []; + for index137 = 0; index137 < (mbt_ffi_load32((iter_base) + 16)); index137 = index137 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index137 * 8) + + let result135 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array136.push(result135) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array136) + } + _ => panic() + } + + let lifted139 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted140 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted138, min_bytes : lifted139, max_bytes : lifted140}) + } + 26 => { + + let lifted144 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array142 : Array[String] = []; + for index143 = 0; index143 < (mbt_ffi_load32((iter_base) + 20)); index143 = index143 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index143 * 8) + + let result141 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array142.push(result141) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array142) + } + _ => panic() + } + + let lifted148 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array146 : Array[String] = []; + for index147 = 0; index147 < (mbt_ffi_load32((iter_base) + 32)); index147 = index147 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index147 * 8) + + let result145 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array146.push(result145) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array146) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted144, allowed_extensions : lifted148}) + } + 27 => { + + let lifted152 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array150 : Array[String] = []; + for index151 = 0; index151 < (mbt_ffi_load32((iter_base) + 16)); index151 = index151 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index151 * 8) + + let result149 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array150.push(result149) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array150) + } + _ => panic() + } + + let lifted156 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array154 : Array[String] = []; + for index155 = 0; index155 < (mbt_ffi_load32((iter_base) + 28)); index155 = index155 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index155 * 8) + + let result153 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array154.push(result153) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array154) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted152, allowed_hosts : lifted156}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result157 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array159 : Array[String] = []; + for index160 = 0; index160 < (mbt_ffi_load32((iter_base) + 20)); index160 = index160 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index160 * 8) + + let result158 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array159.push(result158) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted162 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result161 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result161}) + } + _ => panic() + } + + let lifted164 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result163 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result163}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result157, allowed_suffixes : array159, min : lifted162, max : lifted164}) + } + 31 => { + + let array188 : Array[@types.UnionBranch] = []; + for index189 = 0; index189 < (mbt_ffi_load32((iter_base) + 12)); index189 = index189 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index189 * 92) + + let result165 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted174 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result166 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result166) + } + 1 => { + + let result167 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result167) + } + 2 => { + + let result168 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result168) + } + 3 => { + + let result169 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result169) + } + 4 => { + + let result170 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted172 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result171 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result171) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result170, literal : lifted172}) + } + 5 => { + + let result173 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result173) + } + _ => panic() + } + + let lifted176 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result175 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result175) + } + _ => panic() + } + + let array178 : Array[String] = []; + for index179 = 0; index179 < (mbt_ffi_load32((iter_base) + 52)); index179 = index179 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index179 * 8) + + let result177 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array178.push(result177) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array181 : Array[String] = []; + for index182 = 0; index182 < (mbt_ffi_load32((iter_base) + 60)); index182 = index182 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index182 * 8) + + let result180 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array181.push(result180) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted184 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result183 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result183) + } + _ => panic() + } + + let lifted187 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted186 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result185 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result185) + } + _ => panic() + } + + Option::Some(lifted186) + } + _ => panic() + } + + array188.push(@types.UnionBranch::{tag : result165, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted174, metadata : @types.MetadataEnvelope::{doc : lifted176, aliases : array178, examples : array181, deprecated : lifted184, role : lifted187}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array188}) + } + 32 => { + + let lifted191 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result190 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result190) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted191}) + } + 33 => { + + let lifted193 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result192 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result192) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted193}) + } + 34 => { + + let lifted194 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted194) + } + 35 => { + + let lifted195 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted195) + } + _ => panic() + } + + let lifted198 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result197 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result197) + } + _ => panic() + } + + let array200 : Array[String] = []; + for index201 = 0; index201 < (mbt_ffi_load32((iter_base) + 104)); index201 = index201 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index201 * 8) + + let result199 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array200.push(result199) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array203 : Array[String] = []; + for index204 = 0; index204 < (mbt_ffi_load32((iter_base) + 112)); index204 = index204 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index204 * 8) + + let result202 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array203.push(result202) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted206 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result205 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result205) + } + _ => panic() + } + + let lifted209 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted208 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result207 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result207) + } + _ => panic() + } + + Option::Some(lifted208) + } + _ => panic() + } + + array210.push(@types.SchemaTypeNode::{body : lifted196, metadata : @types.MetadataEnvelope::{doc : lifted198, aliases : array200, examples : array203, deprecated : lifted206, role : lifted209}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + let array215 : Array[@types.SchemaTypeDef] = []; + for index216 = 0; index216 < (mbt_ffi_load32((iter_base) + 20)); index216 = index216 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index216 * 24) + + let result212 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted214 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result213 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result213) + } + _ => panic() + } + + array215.push(@types.SchemaTypeDef::{id : result212, name : lifted214, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let array246 : Array[@types.SchemaValueNode] = []; + for index247 = 0; index247 < (mbt_ffi_load32((iter_base) + 32)); index247 = index247 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index247 * 32) + + let lifted245 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result217 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result217) + } + 13 => { + + let array218 : Array[Int] = []; + for index219 = 0; index219 < (mbt_ffi_load32((iter_base) + 12)); index219 = index219 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index219 * 4) + + array218.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array218) + } + 14 => { + + let lifted220 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted220}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array221 : Array[Bool] = []; + for index222 = 0; index222 < (mbt_ffi_load32((iter_base) + 12)); index222 = index222 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index222 * 1) + + array221.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array221) + } + 17 => { + + let array223 : Array[Int] = []; + for index224 = 0; index224 < (mbt_ffi_load32((iter_base) + 12)); index224 = index224 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index224 * 4) + + array223.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array223) + } + 18 => { + + let array225 : Array[Int] = []; + for index226 = 0; index226 < (mbt_ffi_load32((iter_base) + 12)); index226 = index226 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index226 * 4) + + array225.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array225) + } + 19 => { + + let array227 : Array[Int] = []; + for index228 = 0; index228 < (mbt_ffi_load32((iter_base) + 12)); index228 = index228 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index228 * 4) + + array227.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array227) + } + 20 => { + + let array229 : Array[@types.MapEntry] = []; + for index230 = 0; index230 < (mbt_ffi_load32((iter_base) + 12)); index230 = index230 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index230 * 8) + + array229.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array229) + } + 21 => { + + let lifted231 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted231) + } + 22 => { + + let lifted234 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted232 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted232) + } + 1 => { + + let lifted233 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted233) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted234) + } + 23 => { + + let result235 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted237 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result236 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result236) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result235, language : lifted237}) + } + 24 => { + + let result238 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted240 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result239 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result239) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result238, mime_type : lifted240}) + } + 25 => { + + let result241 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result241) + } + 26 => { + + let result242 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result242) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result243 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result243}) + } + 30 => { + + let result244 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result244, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array246.push(lifted245) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + array248.push(LocalAgentConfigEntry::{path : array12, value : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array210, defs : array215, root : mbt_ffi_load32((iter_base) + 24)}, value : @types.SchemaValueTree::{value_nodes : array246, root : mbt_ffi_load32((iter_base) + 36)}}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 168)) + + let lifted250 : @types.Uuid? = match mbt_ffi_load8_u((iter_base) + 176) { + 0 => Option::None + 1 => { + + Option::Some(@types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 184)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 192)).reinterpret_as_uint64()}) + } + _ => panic() + } + + PublicOplogEntry::Create(CreateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, agent_id : @types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}, agent_id : result}, agent_mode : AgentMode::from(mbt_ffi_load8_u((iter_base) + 56)), component_revision : (mbt_ffi_load64((iter_base) + 64)).reinterpret_as_uint64(), env : array, created_by : @types.AccountId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 88)).reinterpret_as_uint64()}}, environment_id : @host.EnvironmentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 96)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 104)).reinterpret_as_uint64()}}, parent : lifted, component_size : (mbt_ffi_load64((iter_base) + 144)).reinterpret_as_uint64(), initial_total_linear_memory_size : (mbt_ffi_load64((iter_base) + 152)).reinterpret_as_uint64(), initial_active_plugins : array9, local_agent_config : array248, original_phantom_id : lifted250, instance_id : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 200)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 208)).reinterpret_as_uint64()}}) + } + 1 => { + + let lifted251 : UInt64? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()) + } + _ => panic() + } + + let result252 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + let lifted253 : @types.Uuid? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + Option::Some(@types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 64)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 72)).reinterpret_as_uint64()}) + } + _ => panic() + } + + let lifted254 : UInt64? = match mbt_ffi_load8_u((iter_base) + 80) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 88)).reinterpret_as_uint64()) + } + _ => panic() + } + + let lifted489 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 96) { + 0 => Option::None + 1 => { + + let array451 : Array[@types.SchemaTypeNode] = []; + for index452 = 0; index452 < (mbt_ffi_load32((iter_base) + 104)); index452 = index452 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index452 * 144) + + let lifted437 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted261 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted256 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted255 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted255) + } + _ => panic() + } + + let lifted258 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted257 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted257) + } + _ => panic() + } + + let lifted260 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result259 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result259) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted256, max : lifted258, unit : lifted260}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted261) + } + 3 => { + + let lifted268 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted263 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted262 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted262) + } + _ => panic() + } + + let lifted265 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted264 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted264) + } + _ => panic() + } + + let lifted267 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result266 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result266) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted263, max : lifted265, unit : lifted267}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted268) + } + 4 => { + + let lifted275 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted270 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted269 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted269) + } + _ => panic() + } + + let lifted272 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted271 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted271) + } + _ => panic() + } + + let lifted274 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result273 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result273) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted270, max : lifted272, unit : lifted274}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted275) + } + 5 => { + + let lifted282 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted277 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted276 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted276) + } + _ => panic() + } + + let lifted279 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted278 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted278) + } + _ => panic() + } + + let lifted281 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result280 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result280) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted277, max : lifted279, unit : lifted281}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted282) + } + 6 => { + + let lifted289 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted284 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted283 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted283) + } + _ => panic() + } + + let lifted286 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted285 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted285) + } + _ => panic() + } + + let lifted288 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result287 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result287) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted284, max : lifted286, unit : lifted288}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted289) + } + 7 => { + + let lifted296 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted291 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted290 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted290) + } + _ => panic() + } + + let lifted293 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted292 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted292) + } + _ => panic() + } + + let lifted295 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result294 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result294) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted291, max : lifted293, unit : lifted295}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted296) + } + 8 => { + + let lifted303 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted298 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted297 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted297) + } + _ => panic() + } + + let lifted300 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted299 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted299) + } + _ => panic() + } + + let lifted302 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result301 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result301) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted298, max : lifted300, unit : lifted302}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted303) + } + 9 => { + + let lifted310 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted305 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted304 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted304) + } + _ => panic() + } + + let lifted307 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted306 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted306) + } + _ => panic() + } + + let lifted309 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result308 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result308) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted305, max : lifted307, unit : lifted309}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted310) + } + 10 => { + + let lifted317 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted312 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted311 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted311) + } + _ => panic() + } + + let lifted314 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted313 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted313) + } + _ => panic() + } + + let lifted316 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result315 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result315) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted312, max : lifted314, unit : lifted316}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted317) + } + 11 => { + + let lifted324 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted319 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted318 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted318) + } + _ => panic() + } + + let lifted321 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted320 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted320) + } + _ => panic() + } + + let lifted323 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result322 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result322) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted319, max : lifted321, unit : lifted323}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted324) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array339 : Array[@types.NamedFieldType] = []; + for index340 = 0; index340 < (mbt_ffi_load32((iter_base) + 12)); index340 = index340 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index340 * 68) + + let result325 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted327 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result326 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result326) + } + _ => panic() + } + + let array329 : Array[String] = []; + for index330 = 0; index330 < (mbt_ffi_load32((iter_base) + 28)); index330 = index330 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index330 * 8) + + let result328 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array329.push(result328) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array332 : Array[String] = []; + for index333 = 0; index333 < (mbt_ffi_load32((iter_base) + 36)); index333 = index333 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index333 * 8) + + let result331 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array332.push(result331) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted335 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result334 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result334) + } + _ => panic() + } + + let lifted338 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted337 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result336 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result336) + } + _ => panic() + } + + Option::Some(lifted337) + } + _ => panic() + } + + array339.push(@types.NamedFieldType::{name : result325, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted327, aliases : array329, examples : array332, deprecated : lifted335, role : lifted338}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array339) + } + 15 => { + + let array356 : Array[@types.VariantCaseType] = []; + for index357 = 0; index357 < (mbt_ffi_load32((iter_base) + 12)); index357 = index357 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index357 * 72) + + let result341 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted342 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted344 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result343 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result343) + } + _ => panic() + } + + let array346 : Array[String] = []; + for index347 = 0; index347 < (mbt_ffi_load32((iter_base) + 32)); index347 = index347 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index347 * 8) + + let result345 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array346.push(result345) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array349 : Array[String] = []; + for index350 = 0; index350 < (mbt_ffi_load32((iter_base) + 40)); index350 = index350 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index350 * 8) + + let result348 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array349.push(result348) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted352 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result351 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result351) + } + _ => panic() + } + + let lifted355 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted354 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result353 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result353) + } + _ => panic() + } + + Option::Some(lifted354) + } + _ => panic() + } + + array356.push(@types.VariantCaseType::{name : result341, payload : lifted342, metadata : @types.MetadataEnvelope::{doc : lifted344, aliases : array346, examples : array349, deprecated : lifted352, role : lifted355}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array356) + } + 16 => { + + let array359 : Array[String] = []; + for index360 = 0; index360 < (mbt_ffi_load32((iter_base) + 12)); index360 = index360 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index360 * 8) + + let result358 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array359.push(result358) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array359) + } + 17 => { + + let array362 : Array[String] = []; + for index363 = 0; index363 < (mbt_ffi_load32((iter_base) + 12)); index363 = index363 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index363 * 8) + + let result361 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array362.push(result361) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array362) + } + 18 => { + + let array364 : Array[Int] = []; + for index365 = 0; index365 < (mbt_ffi_load32((iter_base) + 12)); index365 = index365 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index365 * 4) + + array364.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array364) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted366 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted367 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted366, err : lifted367}) + } + 24 => { + + let lifted371 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array369 : Array[String] = []; + for index370 = 0; index370 < (mbt_ffi_load32((iter_base) + 16)); index370 = index370 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index370 * 8) + + let result368 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array369.push(result368) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array369) + } + _ => panic() + } + + let lifted372 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted373 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted375 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result374 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result374) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted371, min_length : lifted372, max_length : lifted373, regex : lifted375}) + } + 25 => { + + let lifted379 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array377 : Array[String] = []; + for index378 = 0; index378 < (mbt_ffi_load32((iter_base) + 16)); index378 = index378 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index378 * 8) + + let result376 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array377.push(result376) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array377) + } + _ => panic() + } + + let lifted380 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted381 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted379, min_bytes : lifted380, max_bytes : lifted381}) + } + 26 => { + + let lifted385 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array383 : Array[String] = []; + for index384 = 0; index384 < (mbt_ffi_load32((iter_base) + 20)); index384 = index384 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index384 * 8) + + let result382 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array383.push(result382) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array383) + } + _ => panic() + } + + let lifted389 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array387 : Array[String] = []; + for index388 = 0; index388 < (mbt_ffi_load32((iter_base) + 32)); index388 = index388 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index388 * 8) + + let result386 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array387.push(result386) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array387) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted385, allowed_extensions : lifted389}) + } + 27 => { + + let lifted393 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array391 : Array[String] = []; + for index392 = 0; index392 < (mbt_ffi_load32((iter_base) + 16)); index392 = index392 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index392 * 8) + + let result390 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array391.push(result390) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array391) + } + _ => panic() + } + + let lifted397 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array395 : Array[String] = []; + for index396 = 0; index396 < (mbt_ffi_load32((iter_base) + 28)); index396 = index396 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index396 * 8) + + let result394 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array395.push(result394) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array395) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted393, allowed_hosts : lifted397}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result398 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array400 : Array[String] = []; + for index401 = 0; index401 < (mbt_ffi_load32((iter_base) + 20)); index401 = index401 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index401 * 8) + + let result399 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array400.push(result399) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted403 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result402 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result402}) + } + _ => panic() + } + + let lifted405 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result404 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result404}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result398, allowed_suffixes : array400, min : lifted403, max : lifted405}) + } + 31 => { + + let array429 : Array[@types.UnionBranch] = []; + for index430 = 0; index430 < (mbt_ffi_load32((iter_base) + 12)); index430 = index430 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index430 * 92) + + let result406 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted415 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result407 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result407) + } + 1 => { + + let result408 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result408) + } + 2 => { + + let result409 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result409) + } + 3 => { + + let result410 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result410) + } + 4 => { + + let result411 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted413 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result412 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result412) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result411, literal : lifted413}) + } + 5 => { + + let result414 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result414) + } + _ => panic() + } + + let lifted417 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result416 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result416) + } + _ => panic() + } + + let array419 : Array[String] = []; + for index420 = 0; index420 < (mbt_ffi_load32((iter_base) + 52)); index420 = index420 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index420 * 8) + + let result418 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array419.push(result418) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array422 : Array[String] = []; + for index423 = 0; index423 < (mbt_ffi_load32((iter_base) + 60)); index423 = index423 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index423 * 8) + + let result421 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array422.push(result421) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted425 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result424 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result424) + } + _ => panic() + } + + let lifted428 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted427 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result426 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result426) + } + _ => panic() + } + + Option::Some(lifted427) + } + _ => panic() + } + + array429.push(@types.UnionBranch::{tag : result406, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted415, metadata : @types.MetadataEnvelope::{doc : lifted417, aliases : array419, examples : array422, deprecated : lifted425, role : lifted428}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array429}) + } + 32 => { + + let lifted432 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result431 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result431) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted432}) + } + 33 => { + + let lifted434 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result433 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result433) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted434}) + } + 34 => { + + let lifted435 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted435) + } + 35 => { + + let lifted436 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted436) + } + _ => panic() + } + + let lifted439 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result438 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result438) + } + _ => panic() + } + + let array441 : Array[String] = []; + for index442 = 0; index442 < (mbt_ffi_load32((iter_base) + 104)); index442 = index442 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index442 * 8) + + let result440 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array441.push(result440) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array444 : Array[String] = []; + for index445 = 0; index445 < (mbt_ffi_load32((iter_base) + 112)); index445 = index445 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index445 * 8) + + let result443 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array444.push(result443) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted447 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result446 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result446) + } + _ => panic() + } + + let lifted450 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted449 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result448 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result448) + } + _ => panic() + } + + Option::Some(lifted449) + } + _ => panic() + } + + array451.push(@types.SchemaTypeNode::{body : lifted437, metadata : @types.MetadataEnvelope::{doc : lifted439, aliases : array441, examples : array444, deprecated : lifted447, role : lifted450}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array456 : Array[@types.SchemaTypeDef] = []; + for index457 = 0; index457 < (mbt_ffi_load32((iter_base) + 112)); index457 = index457 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index457 * 24) + + let result453 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted455 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result454 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result454) + } + _ => panic() + } + + array456.push(@types.SchemaTypeDef::{id : result453, name : lifted455, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let array487 : Array[@types.SchemaValueNode] = []; + for index488 = 0; index488 < (mbt_ffi_load32((iter_base) + 124)); index488 = index488 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 120)) + (index488 * 32) + + let lifted486 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result458 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result458) + } + 13 => { + + let array459 : Array[Int] = []; + for index460 = 0; index460 < (mbt_ffi_load32((iter_base) + 12)); index460 = index460 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index460 * 4) + + array459.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array459) + } + 14 => { + + let lifted461 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted461}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array462 : Array[Bool] = []; + for index463 = 0; index463 < (mbt_ffi_load32((iter_base) + 12)); index463 = index463 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index463 * 1) + + array462.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array462) + } + 17 => { + + let array464 : Array[Int] = []; + for index465 = 0; index465 < (mbt_ffi_load32((iter_base) + 12)); index465 = index465 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index465 * 4) + + array464.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array464) + } + 18 => { + + let array466 : Array[Int] = []; + for index467 = 0; index467 < (mbt_ffi_load32((iter_base) + 12)); index467 = index467 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index467 * 4) + + array466.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array466) + } + 19 => { + + let array468 : Array[Int] = []; + for index469 = 0; index469 < (mbt_ffi_load32((iter_base) + 12)); index469 = index469 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index469 * 4) + + array468.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array468) + } + 20 => { + + let array470 : Array[@types.MapEntry] = []; + for index471 = 0; index471 < (mbt_ffi_load32((iter_base) + 12)); index471 = index471 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index471 * 8) + + array470.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array470) + } + 21 => { + + let lifted472 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted472) + } + 22 => { + + let lifted475 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted473 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted473) + } + 1 => { + + let lifted474 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted474) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted475) + } + 23 => { + + let result476 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted478 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result477 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result477) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result476, language : lifted478}) + } + 24 => { + + let result479 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted481 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result480 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result480) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result479, mime_type : lifted481}) + } + 25 => { + + let result482 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result482) + } + 26 => { + + let result483 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result483) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result484 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result484}) + } + 30 => { + + let result485 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result485, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array487.push(lifted486) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 120)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array451, defs : array456, root : mbt_ffi_load32((iter_base) + 116)}, value : @types.SchemaValueTree::{value_nodes : array487, root : mbt_ffi_load32((iter_base) + 128)}}) + } + _ => panic() + } + + let lifted492 = match (mbt_ffi_load8_u((iter_base) + 136)) { + 0 => { + + WrappedFunctionType::ReadLocal + } + 1 => { + + WrappedFunctionType::WriteLocal + } + 2 => { + + WrappedFunctionType::ReadRemote + } + 3 => { + + WrappedFunctionType::WriteRemote + } + 4 => { + + let lifted490 : UInt64? = match mbt_ffi_load8_u((iter_base) + 144) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 152)).reinterpret_as_uint64()) + } + _ => panic() + } + + WrappedFunctionType::WriteRemoteBatched(lifted490) + } + 5 => { + + let lifted491 : UInt64? = match mbt_ffi_load8_u((iter_base) + 144) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 152)).reinterpret_as_uint64()) + } + _ => panic() + } + + WrappedFunctionType::WriteRemoteTransaction(lifted491) + } + _ => panic() + } + + PublicOplogEntry::Start(StartParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent_start_index : lifted251, function_name : result252, invocation_id : lifted253, observational_owner : lifted254, request : lifted489, durable_function_type : lifted492}) + } + 2 => { + + let lifted727 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let array689 : Array[@types.SchemaTypeNode] = []; + for index690 = 0; index690 < (mbt_ffi_load32((iter_base) + 48)); index690 = index690 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index690 * 144) + + let lifted675 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted499 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted494 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted493 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted493) + } + _ => panic() + } + + let lifted496 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted495 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted495) + } + _ => panic() + } + + let lifted498 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result497 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result497) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted494, max : lifted496, unit : lifted498}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted499) + } + 3 => { + + let lifted506 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted501 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted500 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted500) + } + _ => panic() + } + + let lifted503 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted502 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted502) + } + _ => panic() + } + + let lifted505 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result504 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result504) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted501, max : lifted503, unit : lifted505}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted506) + } + 4 => { + + let lifted513 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted508 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted507 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted507) + } + _ => panic() + } + + let lifted510 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted509 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted509) + } + _ => panic() + } + + let lifted512 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result511 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result511) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted508, max : lifted510, unit : lifted512}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted513) + } + 5 => { + + let lifted520 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted515 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted514 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted514) + } + _ => panic() + } + + let lifted517 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted516 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted516) + } + _ => panic() + } + + let lifted519 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result518 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result518) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted515, max : lifted517, unit : lifted519}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted520) + } + 6 => { + + let lifted527 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted522 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted521 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted521) + } + _ => panic() + } + + let lifted524 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted523 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted523) + } + _ => panic() + } + + let lifted526 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result525 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result525) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted522, max : lifted524, unit : lifted526}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted527) + } + 7 => { + + let lifted534 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted529 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted528 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted528) + } + _ => panic() + } + + let lifted531 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted530 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted530) + } + _ => panic() + } + + let lifted533 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result532 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result532) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted529, max : lifted531, unit : lifted533}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted534) + } + 8 => { + + let lifted541 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted536 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted535 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted535) + } + _ => panic() + } + + let lifted538 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted537 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted537) + } + _ => panic() + } + + let lifted540 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result539 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result539) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted536, max : lifted538, unit : lifted540}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted541) + } + 9 => { + + let lifted548 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted543 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted542 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted542) + } + _ => panic() + } + + let lifted545 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted544 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted544) + } + _ => panic() + } + + let lifted547 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result546 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result546) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted543, max : lifted545, unit : lifted547}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted548) + } + 10 => { + + let lifted555 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted550 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted549 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted549) + } + _ => panic() + } + + let lifted552 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted551 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted551) + } + _ => panic() + } + + let lifted554 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result553 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result553) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted550, max : lifted552, unit : lifted554}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted555) + } + 11 => { + + let lifted562 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted557 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted556 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted556) + } + _ => panic() + } + + let lifted559 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted558 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted558) + } + _ => panic() + } + + let lifted561 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result560 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result560) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted557, max : lifted559, unit : lifted561}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted562) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array577 : Array[@types.NamedFieldType] = []; + for index578 = 0; index578 < (mbt_ffi_load32((iter_base) + 12)); index578 = index578 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index578 * 68) + + let result563 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted565 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result564 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result564) + } + _ => panic() + } + + let array567 : Array[String] = []; + for index568 = 0; index568 < (mbt_ffi_load32((iter_base) + 28)); index568 = index568 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index568 * 8) + + let result566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array567.push(result566) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array570 : Array[String] = []; + for index571 = 0; index571 < (mbt_ffi_load32((iter_base) + 36)); index571 = index571 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index571 * 8) + + let result569 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array570.push(result569) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted573 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result572 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result572) + } + _ => panic() + } + + let lifted576 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted575 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result574) + } + _ => panic() + } + + Option::Some(lifted575) + } + _ => panic() + } + + array577.push(@types.NamedFieldType::{name : result563, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted565, aliases : array567, examples : array570, deprecated : lifted573, role : lifted576}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array577) + } + 15 => { + + let array594 : Array[@types.VariantCaseType] = []; + for index595 = 0; index595 < (mbt_ffi_load32((iter_base) + 12)); index595 = index595 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index595 * 72) + + let result579 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted580 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted582 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result581 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result581) + } + _ => panic() + } + + let array584 : Array[String] = []; + for index585 = 0; index585 < (mbt_ffi_load32((iter_base) + 32)); index585 = index585 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index585 * 8) + + let result583 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array584.push(result583) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array587 : Array[String] = []; + for index588 = 0; index588 < (mbt_ffi_load32((iter_base) + 40)); index588 = index588 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index588 * 8) + + let result586 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array587.push(result586) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted590 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result589 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result589) + } + _ => panic() + } + + let lifted593 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted592 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result591 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result591) + } + _ => panic() + } + + Option::Some(lifted592) + } + _ => panic() + } + + array594.push(@types.VariantCaseType::{name : result579, payload : lifted580, metadata : @types.MetadataEnvelope::{doc : lifted582, aliases : array584, examples : array587, deprecated : lifted590, role : lifted593}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array594) + } + 16 => { + + let array597 : Array[String] = []; + for index598 = 0; index598 < (mbt_ffi_load32((iter_base) + 12)); index598 = index598 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index598 * 8) + + let result596 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array597.push(result596) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array597) + } + 17 => { + + let array600 : Array[String] = []; + for index601 = 0; index601 < (mbt_ffi_load32((iter_base) + 12)); index601 = index601 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index601 * 8) + + let result599 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array600.push(result599) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array600) + } + 18 => { + + let array602 : Array[Int] = []; + for index603 = 0; index603 < (mbt_ffi_load32((iter_base) + 12)); index603 = index603 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index603 * 4) + + array602.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array602) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted604 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted605 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted604, err : lifted605}) + } + 24 => { + + let lifted609 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array607 : Array[String] = []; + for index608 = 0; index608 < (mbt_ffi_load32((iter_base) + 16)); index608 = index608 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index608 * 8) + + let result606 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array607.push(result606) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array607) + } + _ => panic() + } + + let lifted610 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted611 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted613 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result612 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result612) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted609, min_length : lifted610, max_length : lifted611, regex : lifted613}) + } + 25 => { + + let lifted617 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array615 : Array[String] = []; + for index616 = 0; index616 < (mbt_ffi_load32((iter_base) + 16)); index616 = index616 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index616 * 8) + + let result614 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array615.push(result614) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array615) + } + _ => panic() + } + + let lifted618 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted619 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted617, min_bytes : lifted618, max_bytes : lifted619}) + } + 26 => { + + let lifted623 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array621 : Array[String] = []; + for index622 = 0; index622 < (mbt_ffi_load32((iter_base) + 20)); index622 = index622 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index622 * 8) + + let result620 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array621.push(result620) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array621) + } + _ => panic() + } + + let lifted627 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array625 : Array[String] = []; + for index626 = 0; index626 < (mbt_ffi_load32((iter_base) + 32)); index626 = index626 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index626 * 8) + + let result624 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array625.push(result624) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array625) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted623, allowed_extensions : lifted627}) + } + 27 => { + + let lifted631 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array629 : Array[String] = []; + for index630 = 0; index630 < (mbt_ffi_load32((iter_base) + 16)); index630 = index630 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index630 * 8) + + let result628 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array629.push(result628) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array629) + } + _ => panic() + } + + let lifted635 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array633 : Array[String] = []; + for index634 = 0; index634 < (mbt_ffi_load32((iter_base) + 28)); index634 = index634 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index634 * 8) + + let result632 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array633.push(result632) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array633) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted631, allowed_hosts : lifted635}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result636 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array638 : Array[String] = []; + for index639 = 0; index639 < (mbt_ffi_load32((iter_base) + 20)); index639 = index639 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index639 * 8) + + let result637 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array638.push(result637) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted641 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result640 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result640}) + } + _ => panic() + } + + let lifted643 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result642 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result642}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result636, allowed_suffixes : array638, min : lifted641, max : lifted643}) + } + 31 => { + + let array667 : Array[@types.UnionBranch] = []; + for index668 = 0; index668 < (mbt_ffi_load32((iter_base) + 12)); index668 = index668 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index668 * 92) + + let result644 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted653 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result645 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result645) + } + 1 => { + + let result646 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result646) + } + 2 => { + + let result647 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result647) + } + 3 => { + + let result648 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result648) + } + 4 => { + + let result649 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted651 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result650 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result650) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result649, literal : lifted651}) + } + 5 => { + + let result652 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result652) + } + _ => panic() + } + + let lifted655 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result654 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result654) + } + _ => panic() + } + + let array657 : Array[String] = []; + for index658 = 0; index658 < (mbt_ffi_load32((iter_base) + 52)); index658 = index658 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index658 * 8) + + let result656 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array657.push(result656) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array660 : Array[String] = []; + for index661 = 0; index661 < (mbt_ffi_load32((iter_base) + 60)); index661 = index661 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index661 * 8) + + let result659 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array660.push(result659) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted663 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result662 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result662) + } + _ => panic() + } + + let lifted666 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted665 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result664 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result664) + } + _ => panic() + } + + Option::Some(lifted665) + } + _ => panic() + } + + array667.push(@types.UnionBranch::{tag : result644, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted653, metadata : @types.MetadataEnvelope::{doc : lifted655, aliases : array657, examples : array660, deprecated : lifted663, role : lifted666}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array667}) + } + 32 => { + + let lifted670 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result669 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result669) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted670}) + } + 33 => { + + let lifted672 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result671 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result671) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted672}) + } + 34 => { + + let lifted673 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted673) + } + 35 => { + + let lifted674 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted674) + } + _ => panic() + } + + let lifted677 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result676 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result676) + } + _ => panic() + } + + let array679 : Array[String] = []; + for index680 = 0; index680 < (mbt_ffi_load32((iter_base) + 104)); index680 = index680 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index680 * 8) + + let result678 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array679.push(result678) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array682 : Array[String] = []; + for index683 = 0; index683 < (mbt_ffi_load32((iter_base) + 112)); index683 = index683 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index683 * 8) + + let result681 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array682.push(result681) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted685 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result684 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result684) + } + _ => panic() + } + + let lifted688 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted687 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result686 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result686) + } + _ => panic() + } + + Option::Some(lifted687) + } + _ => panic() + } + + array689.push(@types.SchemaTypeNode::{body : lifted675, metadata : @types.MetadataEnvelope::{doc : lifted677, aliases : array679, examples : array682, deprecated : lifted685, role : lifted688}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array694 : Array[@types.SchemaTypeDef] = []; + for index695 = 0; index695 < (mbt_ffi_load32((iter_base) + 56)); index695 = index695 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 52)) + (index695 * 24) + + let result691 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted693 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result692 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result692) + } + _ => panic() + } + + array694.push(@types.SchemaTypeDef::{id : result691, name : lifted693, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 52)) + + let array725 : Array[@types.SchemaValueNode] = []; + for index726 = 0; index726 < (mbt_ffi_load32((iter_base) + 68)); index726 = index726 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index726 * 32) + + let lifted724 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result696 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result696) + } + 13 => { + + let array697 : Array[Int] = []; + for index698 = 0; index698 < (mbt_ffi_load32((iter_base) + 12)); index698 = index698 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index698 * 4) + + array697.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array697) + } + 14 => { + + let lifted699 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted699}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array700 : Array[Bool] = []; + for index701 = 0; index701 < (mbt_ffi_load32((iter_base) + 12)); index701 = index701 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index701 * 1) + + array700.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array700) + } + 17 => { + + let array702 : Array[Int] = []; + for index703 = 0; index703 < (mbt_ffi_load32((iter_base) + 12)); index703 = index703 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index703 * 4) + + array702.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array702) + } + 18 => { + + let array704 : Array[Int] = []; + for index705 = 0; index705 < (mbt_ffi_load32((iter_base) + 12)); index705 = index705 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index705 * 4) + + array704.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array704) + } + 19 => { + + let array706 : Array[Int] = []; + for index707 = 0; index707 < (mbt_ffi_load32((iter_base) + 12)); index707 = index707 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index707 * 4) + + array706.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array706) + } + 20 => { + + let array708 : Array[@types.MapEntry] = []; + for index709 = 0; index709 < (mbt_ffi_load32((iter_base) + 12)); index709 = index709 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index709 * 8) + + array708.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array708) + } + 21 => { + + let lifted710 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted710) + } + 22 => { + + let lifted713 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted711 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted711) + } + 1 => { + + let lifted712 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted712) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted713) + } + 23 => { + + let result714 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted716 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result715 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result715) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result714, language : lifted716}) + } + 24 => { + + let result717 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted719 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result718 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result718) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result717, mime_type : lifted719}) + } + 25 => { + + let result720 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result720) + } + 26 => { + + let result721 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result721) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result722 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result722}) + } + 30 => { + + let result723 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result723, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array725.push(lifted724) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array689, defs : array694, root : mbt_ffi_load32((iter_base) + 60)}, value : @types.SchemaValueTree::{value_nodes : array725, root : mbt_ffi_load32((iter_base) + 72)}}) + } + _ => panic() + } + + PublicOplogEntry::End(EndParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), response : lifted727, forced_commit : (mbt_ffi_load8_u((iter_base) + 76) != 0)}) + } + 3 => { + + let lifted962 : @types.TypedSchemaValue? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let array924 : Array[@types.SchemaTypeNode] = []; + for index925 = 0; index925 < (mbt_ffi_load32((iter_base) + 48)); index925 = index925 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index925 * 144) + + let lifted910 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted734 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted729 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted728 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted728) + } + _ => panic() + } + + let lifted731 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted730 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted730) + } + _ => panic() + } + + let lifted733 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result732 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result732) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted729, max : lifted731, unit : lifted733}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted734) + } + 3 => { + + let lifted741 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted736 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted735 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted735) + } + _ => panic() + } + + let lifted738 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted737 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted737) + } + _ => panic() + } + + let lifted740 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result739 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result739) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted736, max : lifted738, unit : lifted740}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted741) + } + 4 => { + + let lifted748 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted743 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted742 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted742) + } + _ => panic() + } + + let lifted745 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted744 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted744) + } + _ => panic() + } + + let lifted747 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result746 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result746) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted743, max : lifted745, unit : lifted747}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted748) + } + 5 => { + + let lifted755 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted750 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted749 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted749) + } + _ => panic() + } + + let lifted752 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted751 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted751) + } + _ => panic() + } + + let lifted754 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result753 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result753) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted750, max : lifted752, unit : lifted754}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted755) + } + 6 => { + + let lifted762 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted757 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted756 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted756) + } + _ => panic() + } + + let lifted759 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted758 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted758) + } + _ => panic() + } + + let lifted761 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result760 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result760) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted757, max : lifted759, unit : lifted761}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted762) + } + 7 => { + + let lifted769 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted764 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted763 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted763) + } + _ => panic() + } + + let lifted766 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted765 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted765) + } + _ => panic() + } + + let lifted768 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result767 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result767) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted764, max : lifted766, unit : lifted768}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted769) + } + 8 => { + + let lifted776 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted771 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted770 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted770) + } + _ => panic() + } + + let lifted773 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted772 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted772) + } + _ => panic() + } + + let lifted775 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result774 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result774) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted771, max : lifted773, unit : lifted775}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted776) + } + 9 => { + + let lifted783 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted778 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted777 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted777) + } + _ => panic() + } + + let lifted780 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted779 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted779) + } + _ => panic() + } + + let lifted782 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result781 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result781) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted778, max : lifted780, unit : lifted782}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted783) + } + 10 => { + + let lifted790 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted785 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted784 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted784) + } + _ => panic() + } + + let lifted787 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted786 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted786) + } + _ => panic() + } + + let lifted789 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result788 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result788) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted785, max : lifted787, unit : lifted789}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted790) + } + 11 => { + + let lifted797 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted792 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted791 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted791) + } + _ => panic() + } + + let lifted794 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted793 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted793) + } + _ => panic() + } + + let lifted796 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result795 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result795) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted792, max : lifted794, unit : lifted796}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted797) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array812 : Array[@types.NamedFieldType] = []; + for index813 = 0; index813 < (mbt_ffi_load32((iter_base) + 12)); index813 = index813 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index813 * 68) + + let result798 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted800 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result799 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result799) + } + _ => panic() + } + + let array802 : Array[String] = []; + for index803 = 0; index803 < (mbt_ffi_load32((iter_base) + 28)); index803 = index803 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index803 * 8) + + let result801 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array802.push(result801) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array805 : Array[String] = []; + for index806 = 0; index806 < (mbt_ffi_load32((iter_base) + 36)); index806 = index806 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index806 * 8) + + let result804 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array805.push(result804) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted808 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result807 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result807) + } + _ => panic() + } + + let lifted811 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted810 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result809 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result809) + } + _ => panic() + } + + Option::Some(lifted810) + } + _ => panic() + } + + array812.push(@types.NamedFieldType::{name : result798, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted800, aliases : array802, examples : array805, deprecated : lifted808, role : lifted811}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array812) + } + 15 => { + + let array829 : Array[@types.VariantCaseType] = []; + for index830 = 0; index830 < (mbt_ffi_load32((iter_base) + 12)); index830 = index830 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index830 * 72) + + let result814 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted815 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted817 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result816 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result816) + } + _ => panic() + } + + let array819 : Array[String] = []; + for index820 = 0; index820 < (mbt_ffi_load32((iter_base) + 32)); index820 = index820 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index820 * 8) + + let result818 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array819.push(result818) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array822 : Array[String] = []; + for index823 = 0; index823 < (mbt_ffi_load32((iter_base) + 40)); index823 = index823 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index823 * 8) + + let result821 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array822.push(result821) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted825 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result824 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result824) + } + _ => panic() + } + + let lifted828 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted827 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result826 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result826) + } + _ => panic() + } + + Option::Some(lifted827) + } + _ => panic() + } + + array829.push(@types.VariantCaseType::{name : result814, payload : lifted815, metadata : @types.MetadataEnvelope::{doc : lifted817, aliases : array819, examples : array822, deprecated : lifted825, role : lifted828}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array829) + } + 16 => { + + let array832 : Array[String] = []; + for index833 = 0; index833 < (mbt_ffi_load32((iter_base) + 12)); index833 = index833 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index833 * 8) + + let result831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array832.push(result831) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array832) + } + 17 => { + + let array835 : Array[String] = []; + for index836 = 0; index836 < (mbt_ffi_load32((iter_base) + 12)); index836 = index836 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index836 * 8) + + let result834 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array835.push(result834) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array835) + } + 18 => { + + let array837 : Array[Int] = []; + for index838 = 0; index838 < (mbt_ffi_load32((iter_base) + 12)); index838 = index838 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index838 * 4) + + array837.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array837) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted839 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted840 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted839, err : lifted840}) + } + 24 => { + + let lifted844 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array842 : Array[String] = []; + for index843 = 0; index843 < (mbt_ffi_load32((iter_base) + 16)); index843 = index843 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index843 * 8) + + let result841 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array842.push(result841) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array842) + } + _ => panic() + } + + let lifted845 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted846 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted848 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result847 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result847) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted844, min_length : lifted845, max_length : lifted846, regex : lifted848}) + } + 25 => { + + let lifted852 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array850 : Array[String] = []; + for index851 = 0; index851 < (mbt_ffi_load32((iter_base) + 16)); index851 = index851 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index851 * 8) + + let result849 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array850.push(result849) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array850) + } + _ => panic() + } + + let lifted853 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted854 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted852, min_bytes : lifted853, max_bytes : lifted854}) + } + 26 => { + + let lifted858 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array856 : Array[String] = []; + for index857 = 0; index857 < (mbt_ffi_load32((iter_base) + 20)); index857 = index857 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index857 * 8) + + let result855 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array856.push(result855) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array856) + } + _ => panic() + } + + let lifted862 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array860 : Array[String] = []; + for index861 = 0; index861 < (mbt_ffi_load32((iter_base) + 32)); index861 = index861 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index861 * 8) + + let result859 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array860.push(result859) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array860) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted858, allowed_extensions : lifted862}) + } + 27 => { + + let lifted866 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array864 : Array[String] = []; + for index865 = 0; index865 < (mbt_ffi_load32((iter_base) + 16)); index865 = index865 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index865 * 8) + + let result863 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array864.push(result863) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array864) + } + _ => panic() + } + + let lifted870 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array868 : Array[String] = []; + for index869 = 0; index869 < (mbt_ffi_load32((iter_base) + 28)); index869 = index869 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index869 * 8) + + let result867 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array868.push(result867) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array868) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted866, allowed_hosts : lifted870}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result871 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array873 : Array[String] = []; + for index874 = 0; index874 < (mbt_ffi_load32((iter_base) + 20)); index874 = index874 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index874 * 8) + + let result872 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array873.push(result872) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted876 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result875 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result875}) + } + _ => panic() + } + + let lifted878 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result877 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result877}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result871, allowed_suffixes : array873, min : lifted876, max : lifted878}) + } + 31 => { + + let array902 : Array[@types.UnionBranch] = []; + for index903 = 0; index903 < (mbt_ffi_load32((iter_base) + 12)); index903 = index903 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index903 * 92) + + let result879 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted888 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result880 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result880) + } + 1 => { + + let result881 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result881) + } + 2 => { + + let result882 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result882) + } + 3 => { + + let result883 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result883) + } + 4 => { + + let result884 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted886 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result885 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result885) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result884, literal : lifted886}) + } + 5 => { + + let result887 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result887) + } + _ => panic() + } + + let lifted890 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result889 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result889) + } + _ => panic() + } + + let array892 : Array[String] = []; + for index893 = 0; index893 < (mbt_ffi_load32((iter_base) + 52)); index893 = index893 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index893 * 8) + + let result891 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array892.push(result891) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array895 : Array[String] = []; + for index896 = 0; index896 < (mbt_ffi_load32((iter_base) + 60)); index896 = index896 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index896 * 8) + + let result894 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array895.push(result894) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted898 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result897 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result897) + } + _ => panic() + } + + let lifted901 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted900 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result899 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result899) + } + _ => panic() + } + + Option::Some(lifted900) + } + _ => panic() + } + + array902.push(@types.UnionBranch::{tag : result879, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted888, metadata : @types.MetadataEnvelope::{doc : lifted890, aliases : array892, examples : array895, deprecated : lifted898, role : lifted901}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array902}) + } + 32 => { + + let lifted905 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result904 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result904) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted905}) + } + 33 => { + + let lifted907 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result906 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result906) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted907}) + } + 34 => { + + let lifted908 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted908) + } + 35 => { + + let lifted909 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted909) + } + _ => panic() + } + + let lifted912 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result911 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result911) + } + _ => panic() + } + + let array914 : Array[String] = []; + for index915 = 0; index915 < (mbt_ffi_load32((iter_base) + 104)); index915 = index915 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index915 * 8) + + let result913 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array914.push(result913) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array917 : Array[String] = []; + for index918 = 0; index918 < (mbt_ffi_load32((iter_base) + 112)); index918 = index918 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index918 * 8) + + let result916 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array917.push(result916) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted920 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result919 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result919) + } + _ => panic() + } + + let lifted923 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted922 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result921 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result921) + } + _ => panic() + } + + Option::Some(lifted922) + } + _ => panic() + } + + array924.push(@types.SchemaTypeNode::{body : lifted910, metadata : @types.MetadataEnvelope::{doc : lifted912, aliases : array914, examples : array917, deprecated : lifted920, role : lifted923}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) + + let array929 : Array[@types.SchemaTypeDef] = []; + for index930 = 0; index930 < (mbt_ffi_load32((iter_base) + 56)); index930 = index930 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 52)) + (index930 * 24) + + let result926 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted928 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result927 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result927) + } + _ => panic() + } + + array929.push(@types.SchemaTypeDef::{id : result926, name : lifted928, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 52)) + + let array960 : Array[@types.SchemaValueNode] = []; + for index961 = 0; index961 < (mbt_ffi_load32((iter_base) + 68)); index961 = index961 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index961 * 32) + + let lifted959 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result931 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result931) + } + 13 => { + + let array932 : Array[Int] = []; + for index933 = 0; index933 < (mbt_ffi_load32((iter_base) + 12)); index933 = index933 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index933 * 4) + + array932.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array932) + } + 14 => { + + let lifted934 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted934}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array935 : Array[Bool] = []; + for index936 = 0; index936 < (mbt_ffi_load32((iter_base) + 12)); index936 = index936 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index936 * 1) + + array935.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array935) + } + 17 => { + + let array937 : Array[Int] = []; + for index938 = 0; index938 < (mbt_ffi_load32((iter_base) + 12)); index938 = index938 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index938 * 4) + + array937.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array937) + } + 18 => { + + let array939 : Array[Int] = []; + for index940 = 0; index940 < (mbt_ffi_load32((iter_base) + 12)); index940 = index940 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index940 * 4) + + array939.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array939) + } + 19 => { + + let array941 : Array[Int] = []; + for index942 = 0; index942 < (mbt_ffi_load32((iter_base) + 12)); index942 = index942 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index942 * 4) + + array941.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array941) + } + 20 => { + + let array943 : Array[@types.MapEntry] = []; + for index944 = 0; index944 < (mbt_ffi_load32((iter_base) + 12)); index944 = index944 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index944 * 8) + + array943.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array943) + } + 21 => { + + let lifted945 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted945) + } + 22 => { + + let lifted948 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted946 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted946) + } + 1 => { + + let lifted947 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted947) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted948) + } + 23 => { + + let result949 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted951 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result950 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result950) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result949, language : lifted951}) + } + 24 => { + + let result952 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted954 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result953 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result953) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result952, mime_type : lifted954}) + } + 25 => { + + let result955 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result955) + } + 26 => { + + let result956 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result956) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result957 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result957}) + } + 30 => { + + let result958 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result958, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array960.push(lifted959) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + Option::Some(@types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array924, defs : array929, root : mbt_ffi_load32((iter_base) + 60)}, value : @types.SchemaValueTree::{value_nodes : array960, root : mbt_ffi_load32((iter_base) + 72)}}) + } + _ => panic() + } + + PublicOplogEntry::Cancelled(CancelledParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), partial : lifted962}) + } + 4 => { + + let lifted1475 = match (mbt_ffi_load8_u((iter_base) + 32)) { + 0 => { + + let result963 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let array1160 : Array[@types.SchemaTypeNode] = []; + for index1161 = 0; index1161 < (mbt_ffi_load32((iter_base) + 52)); index1161 = index1161 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1161 * 144) + + let lifted1146 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted970 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted965 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted964 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted964) + } + _ => panic() + } + + let lifted967 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted966 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted966) + } + _ => panic() + } + + let lifted969 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result968 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result968) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted965, max : lifted967, unit : lifted969}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted970) + } + 3 => { + + let lifted977 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted972 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted971 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted971) + } + _ => panic() + } + + let lifted974 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted973 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted973) + } + _ => panic() + } + + let lifted976 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result975 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result975) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted972, max : lifted974, unit : lifted976}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted977) + } + 4 => { + + let lifted984 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted979 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted978 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted978) + } + _ => panic() + } + + let lifted981 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted980 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted980) + } + _ => panic() + } + + let lifted983 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result982 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result982) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted979, max : lifted981, unit : lifted983}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted984) + } + 5 => { + + let lifted991 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted986 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted985 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted985) + } + _ => panic() + } + + let lifted988 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted987 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted987) + } + _ => panic() + } + + let lifted990 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result989 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result989) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted986, max : lifted988, unit : lifted990}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted991) + } + 6 => { + + let lifted998 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted993 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted992 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted992) + } + _ => panic() + } + + let lifted995 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted994 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted994) + } + _ => panic() + } + + let lifted997 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result996 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result996) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted993, max : lifted995, unit : lifted997}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted998) + } + 7 => { + + let lifted1005 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1000 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted999 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted999) + } + _ => panic() + } + + let lifted1002 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1001 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1001) + } + _ => panic() + } + + let lifted1004 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1003 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1003) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1000, max : lifted1002, unit : lifted1004}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1005) + } + 8 => { + + let lifted1012 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1007 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1006 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1006) + } + _ => panic() + } + + let lifted1009 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1008 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1008) + } + _ => panic() + } + + let lifted1011 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1010 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1010) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1007, max : lifted1009, unit : lifted1011}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1012) + } + 9 => { + + let lifted1019 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1014 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1013 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1013) + } + _ => panic() + } + + let lifted1016 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1015 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1015) + } + _ => panic() + } + + let lifted1018 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1017 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1017) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1014, max : lifted1016, unit : lifted1018}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1019) + } + 10 => { + + let lifted1026 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1021 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1020 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1020) + } + _ => panic() + } + + let lifted1023 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1022 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1022) + } + _ => panic() + } + + let lifted1025 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1024 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1024) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1021, max : lifted1023, unit : lifted1025}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1026) + } + 11 => { + + let lifted1033 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1028 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1027 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1027) + } + _ => panic() + } + + let lifted1030 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1029 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1029) + } + _ => panic() + } + + let lifted1032 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1031 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1031) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1028, max : lifted1030, unit : lifted1032}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1033) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1048 : Array[@types.NamedFieldType] = []; + for index1049 = 0; index1049 < (mbt_ffi_load32((iter_base) + 12)); index1049 = index1049 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1049 * 68) + + let result1034 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1036 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1035 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1035) + } + _ => panic() + } + + let array1038 : Array[String] = []; + for index1039 = 0; index1039 < (mbt_ffi_load32((iter_base) + 28)); index1039 = index1039 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1039 * 8) + + let result1037 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1038.push(result1037) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1041 : Array[String] = []; + for index1042 = 0; index1042 < (mbt_ffi_load32((iter_base) + 36)); index1042 = index1042 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1042 * 8) + + let result1040 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1041.push(result1040) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1044 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1043 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1043) + } + _ => panic() + } + + let lifted1047 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1046 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1045 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1045) + } + _ => panic() + } + + Option::Some(lifted1046) + } + _ => panic() + } + + array1048.push(@types.NamedFieldType::{name : result1034, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1036, aliases : array1038, examples : array1041, deprecated : lifted1044, role : lifted1047}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1048) + } + 15 => { + + let array1065 : Array[@types.VariantCaseType] = []; + for index1066 = 0; index1066 < (mbt_ffi_load32((iter_base) + 12)); index1066 = index1066 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1066 * 72) + + let result1050 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1051 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1053 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1052 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1052) + } + _ => panic() + } + + let array1055 : Array[String] = []; + for index1056 = 0; index1056 < (mbt_ffi_load32((iter_base) + 32)); index1056 = index1056 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1056 * 8) + + let result1054 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1055.push(result1054) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1058 : Array[String] = []; + for index1059 = 0; index1059 < (mbt_ffi_load32((iter_base) + 40)); index1059 = index1059 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1059 * 8) + + let result1057 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1058.push(result1057) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1061 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1060 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1060) + } + _ => panic() + } + + let lifted1064 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1063 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1062 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1062) + } + _ => panic() + } + + Option::Some(lifted1063) + } + _ => panic() + } + + array1065.push(@types.VariantCaseType::{name : result1050, payload : lifted1051, metadata : @types.MetadataEnvelope::{doc : lifted1053, aliases : array1055, examples : array1058, deprecated : lifted1061, role : lifted1064}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1065) + } + 16 => { + + let array1068 : Array[String] = []; + for index1069 = 0; index1069 < (mbt_ffi_load32((iter_base) + 12)); index1069 = index1069 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1069 * 8) + + let result1067 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1068.push(result1067) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1068) + } + 17 => { + + let array1071 : Array[String] = []; + for index1072 = 0; index1072 < (mbt_ffi_load32((iter_base) + 12)); index1072 = index1072 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1072 * 8) + + let result1070 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1071.push(result1070) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1071) + } + 18 => { + + let array1073 : Array[Int] = []; + for index1074 = 0; index1074 < (mbt_ffi_load32((iter_base) + 12)); index1074 = index1074 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1074 * 4) + + array1073.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1073) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1075 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1076 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1075, err : lifted1076}) + } + 24 => { + + let lifted1080 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1078 : Array[String] = []; + for index1079 = 0; index1079 < (mbt_ffi_load32((iter_base) + 16)); index1079 = index1079 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1079 * 8) + + let result1077 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1078.push(result1077) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1078) + } + _ => panic() + } + + let lifted1081 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1082 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1084 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1083 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1083) + } + _ => panic() + } + + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1080, min_length : lifted1081, max_length : lifted1082, regex : lifted1084}) + } + 25 => { + + let lifted1088 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1086 : Array[String] = []; + for index1087 = 0; index1087 < (mbt_ffi_load32((iter_base) + 16)); index1087 = index1087 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1087 * 8) + + let result1085 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1086.push(result1085) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1086) + } + _ => panic() + } + + let lifted1089 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } + + let lifted1090 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } + + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1088, min_bytes : lifted1089, max_bytes : lifted1090}) + } + 26 => { + + let lifted1094 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let array1092 : Array[String] = []; + for index1093 = 0; index1093 < (mbt_ffi_load32((iter_base) + 20)); index1093 = index1093 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1093 * 8) + + let result1091 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1092.push(result1091) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + Option::Some(array1092) + } + _ => panic() + } + + let lifted1098 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let array1096 : Array[String] = []; + for index1097 = 0; index1097 < (mbt_ffi_load32((iter_base) + 32)); index1097 = index1097 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1097 * 8) + + let result1095 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1096.push(result1095) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array1096) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1094, allowed_extensions : lifted1098}) + } + 27 => { + + let lifted1102 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1100 : Array[String] = []; + for index1101 = 0; index1101 < (mbt_ffi_load32((iter_base) + 16)); index1101 = index1101 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1101 * 8) + + let result1099 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1100.push(result1099) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array1100) + } + _ => panic() + } + + let lifted1106 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array1104 : Array[String] = []; + for index1105 = 0; index1105 < (mbt_ffi_load32((iter_base) + 28)); index1105 = index1105 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1105 * 8) + + let result1103 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1104.push(result1103) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array1104) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1102, allowed_hosts : lifted1106}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result1107 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array1109 : Array[String] = []; + for index1110 = 0; index1110 < (mbt_ffi_load32((iter_base) + 20)); index1110 = index1110 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1110 * 8) + + let result1108 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1109.push(result1108) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted1112 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1111 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1111}) + } + _ => panic() + } + + let lifted1114 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let result1113 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) + + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1113}) + } + _ => panic() + } + + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1107, allowed_suffixes : array1109, min : lifted1112, max : lifted1114}) + } + 31 => { + + let array1138 : Array[@types.UnionBranch] = []; + for index1139 = 0; index1139 < (mbt_ffi_load32((iter_base) + 12)); index1139 = index1139 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1139 * 92) + + let result1115 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1124 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result1116 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result1116) + } + 1 => { + + let result1117 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Suffix(result1117) + } + 2 => { + + let result1118 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Contains(result1118) + } + 3 => { + + let result1119 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Regex(result1119) + } + 4 => { + + let result1120 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + let lifted1122 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { + + let result1121 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) + + Option::Some(result1121) + } + _ => panic() + } + + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1120, literal : lifted1122}) + } + 5 => { + + let result1123 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::FieldAbsent(result1123) + } + _ => panic() + } + + let lifted1126 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { + + let result1125 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result1125) + } + _ => panic() + } + + let array1128 : Array[String] = []; + for index1129 = 0; index1129 < (mbt_ffi_load32((iter_base) + 52)); index1129 = index1129 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1129 * 8) + + let result1127 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1128.push(result1127) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1131 : Array[String] = []; + for index1132 = 0; index1132 < (mbt_ffi_load32((iter_base) + 60)); index1132 = index1132 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1132 * 8) + + let result1130 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1131.push(result1130) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let lifted1134 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1133 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1133) + } + _ => panic() + } + + let lifted1137 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { + + let lifted1136 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1135 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) + + @types.Role::Other(result1135) + } + _ => panic() + } + + Option::Some(lifted1136) + } + _ => panic() + } + + array1138.push(@types.UnionBranch::{tag : result1115, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1124, metadata : @types.MetadataEnvelope::{doc : lifted1126, aliases : array1128, examples : array1131, deprecated : lifted1134, role : lifted1137}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1138}) + } + 32 => { + + let lifted1141 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1140 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1140) + } + _ => panic() + } + + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1141}) + } + 33 => { + + let lifted1143 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1142 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1142) + } + _ => panic() + } + + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1143}) + } + 34 => { + + let lifted1144 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::FutureType(lifted1144) + } + 35 => { + + let lifted1145 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaTypeBody::StreamType(lifted1145) + } + _ => panic() + } + + let lifted1148 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { + + let result1147 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) + + Option::Some(result1147) + } + _ => panic() + } + + let array1150 : Array[String] = []; + for index1151 = 0; index1151 < (mbt_ffi_load32((iter_base) + 104)); index1151 = index1151 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1151 * 8) + + let result1149 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1150.push(result1149) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) + + let array1153 : Array[String] = []; + for index1154 = 0; index1154 < (mbt_ffi_load32((iter_base) + 112)); index1154 = index1154 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1154 * 8) + + let result1152 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1153.push(result1152) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) + + let lifted1156 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { + + let result1155 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) + + Option::Some(result1155) + } + _ => panic() + } + + let lifted1159 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { + + let lifted1158 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1157 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) + + @types.Role::Other(result1157) + } + _ => panic() + } + + Option::Some(lifted1158) + } + _ => panic() + } + + array1160.push(@types.SchemaTypeNode::{body : lifted1146, metadata : @types.MetadataEnvelope::{doc : lifted1148, aliases : array1150, examples : array1153, deprecated : lifted1156, role : lifted1159}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) + + let array1165 : Array[@types.SchemaTypeDef] = []; + for index1166 = 0; index1166 < (mbt_ffi_load32((iter_base) + 60)); index1166 = index1166 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1166 * 24) + + let result1162 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1164 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let result1163 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + Option::Some(result1163) + } + _ => panic() + } + + array1165.push(@types.SchemaTypeDef::{id : result1162, name : lifted1164, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) + + let array1196 : Array[@types.SchemaValueNode] = []; + for index1197 = 0; index1197 < (mbt_ffi_load32((iter_base) + 72)); index1197 = index1197 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index1197 * 32) + + let lifted1195 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { + + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { + + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { + + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { + + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { + + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { + + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { + + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { + + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { + + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { + + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { + + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { + + let result1167 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::StringValue(result1167) + } + 13 => { + + let array1168 : Array[Int] = []; + for index1169 = 0; index1169 < (mbt_ffi_load32((iter_base) + 12)); index1169 = index1169 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1169 * 4) + + array1168.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::RecordValue(array1168) + } + 14 => { + + let lifted1170 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1170}) + } + 15 => { + + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { + + let array1171 : Array[Bool] = []; + for index1172 = 0; index1172 < (mbt_ffi_load32((iter_base) + 12)); index1172 = index1172 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1172 * 1) + + array1171.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FlagsValue(array1171) + } + 17 => { + + let array1173 : Array[Int] = []; + for index1174 = 0; index1174 < (mbt_ffi_load32((iter_base) + 12)); index1174 = index1174 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1174 * 4) + + array1173.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::TupleValue(array1173) + } + 18 => { + + let array1175 : Array[Int] = []; + for index1176 = 0; index1176 < (mbt_ffi_load32((iter_base) + 12)); index1176 = index1176 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1176 * 4) + + array1175.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::ListValue(array1175) + } + 19 => { + + let array1177 : Array[Int] = []; + for index1178 = 0; index1178 < (mbt_ffi_load32((iter_base) + 12)); index1178 = index1178 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1178 * 4) + + array1177.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::FixedListValue(array1177) + } + 20 => { + + let array1179 : Array[@types.MapEntry] = []; + for index1180 = 0; index1180 < (mbt_ffi_load32((iter_base) + 12)); index1180 = index1180 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1180 * 8) + + array1179.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaValueNode::MapValue(array1179) + } + 21 => { + + let lifted1181 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + @types.SchemaValueNode::OptionValue(lifted1181) + } + 22 => { + + let lifted1184 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let lifted1182 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::OkValue(lifted1182) + } + 1 => { + + let lifted1183 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } + + @types.ResultValuePayload::ErrValue(lifted1183) + } + _ => panic() + } + + @types.SchemaValueNode::ResultValue(lifted1184) + } + 23 => { + + let result1185 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1187 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1186 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1186) + } + _ => panic() + } + + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1185, language : lifted1187}) + } + 24 => { + + let result1188 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1190 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1189 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1189) + } + _ => panic() + } + + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1188, mime_type : lifted1190}) + } + 25 => { + + let result1191 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::PathValue(result1191) + } + 26 => { + + let result1192 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UrlValue(result1192) + } + 27 => { + + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { + + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { + + let result1193 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1193}) + } + 30 => { + + let result1194 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1194, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { + + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { + + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } + + array1196.push(lifted1195) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) + + let result1198 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 80), mbt_ffi_load32((iter_base) + 84)) + + let array1200 : Array[String] = []; + for index1201 = 0; index1201 < (mbt_ffi_load32((iter_base) + 92)); index1201 = index1201 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index1201 * 8) + + let result1199 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1200.push(result1199) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) + + let array1215 : Array[Array[SpanData]] = []; + for index1216 = 0; index1216 < (mbt_ffi_load32((iter_base) + 100)); index1216 = index1216 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index1216 * 8) + + let array1213 : Array[SpanData] = []; + for index1214 = 0; index1214 < (mbt_ffi_load32((iter_base) + 4)); index1214 = index1214 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index1214 * 80) + + let lifted1212 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + let result1202 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let lifted1204 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { + + let result1203 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) + + Option::Some(result1203) + } + _ => panic() + } + + let lifted1205 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { + + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + let array1209 : Array[@context.Attribute] = []; + for index1210 = 0; index1210 < (mbt_ffi_load32((iter_base) + 68)); index1210 = index1210 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index1210 * 20) + + let result1206 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1208 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result1207 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) + + @context.AttributeValue::String(result1207) + } + _ => panic() + } + + array1209.push(@context.Attribute::{key : result1206, value : lifted1208}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + SpanData::LocalSpan(LocalSpanData::{span_id : result1202, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted1204, linked_context : lifted1205, attributes : array1209, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { + + let result1211 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + SpanData::ExternalSpan(ExternalSpanData::{span_id : result1211}) + } + _ => panic() + } + + array1213.push(lifted1212) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) + + array1215.push(array1213) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) + + AgentInvocation::AgentInitialization(AgentInitializationParameters::{idempotency_key : result963, constructor_parameters : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1160, defs : array1165, root : mbt_ffi_load32((iter_base) + 64)}, value : @types.SchemaValueTree::{value_nodes : array1196, root : mbt_ffi_load32((iter_base) + 76)}}, trace_id : result1198, trace_states : array1200, invocation_context : array1215}) + } + 1 => { + + let result1217 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + let result1218 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + let array1415 : Array[@types.SchemaTypeNode] = []; + for index1416 = 0; index1416 < (mbt_ffi_load32((iter_base) + 60)); index1416 = index1416 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1416 * 144) + + let lifted1401 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { + + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { + + @types.SchemaTypeBody::BoolType + } + 2 => { + + let lifted1225 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1220 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1219 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1219) + } + _ => panic() + } + + let lifted1222 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1221 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1221) + } + _ => panic() + } + + let lifted1224 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1223 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1223) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1220, max : lifted1222, unit : lifted1224}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1225) + } + 3 => { + + let lifted1232 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1227 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1226 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1226) + } + _ => panic() + } + + let lifted1229 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1228 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1228) + } + _ => panic() + } + + let lifted1231 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1230 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1230) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1227, max : lifted1229, unit : lifted1231}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1232) + } + 4 => { + + let lifted1239 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1234 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1233 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1233) + } + _ => panic() + } + + let lifted1236 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1235 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1235) + } + _ => panic() + } + + let lifted1238 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1237 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1237) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1234, max : lifted1236, unit : lifted1238}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1239) + } + 5 => { + + let lifted1246 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1241 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1240 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1240) + } + _ => panic() + } + + let lifted1243 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1242 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1242) + } + _ => panic() + } + + let lifted1245 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1244 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1244) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1241, max : lifted1243, unit : lifted1245}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1246) + } + 6 => { + + let lifted1253 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1248 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1247 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1247) + } + _ => panic() + } + + let lifted1250 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1249 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1249) + } + _ => panic() + } + + let lifted1252 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1251 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1251) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1248, max : lifted1250, unit : lifted1252}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1253) + } + 7 => { + + let lifted1260 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1255 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1254 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1254) + } + _ => panic() + } + + let lifted1257 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1256 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1256) + } + _ => panic() + } + + let lifted1259 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1258 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1258) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1255, max : lifted1257, unit : lifted1259}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1260) + } + 8 => { + + let lifted1267 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1262 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1261 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1261) + } + _ => panic() + } + + let lifted1264 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1263 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1263) + } + _ => panic() + } + + let lifted1266 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1265 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1265) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1262, max : lifted1264, unit : lifted1266}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1267) + } + 9 => { + + let lifted1274 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1269 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1268 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1268) + } + _ => panic() + } + + let lifted1271 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1270 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1270) + } + _ => panic() + } + + let lifted1273 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1272 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1272) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1269, max : lifted1271, unit : lifted1273}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1274) + } + 10 => { + + let lifted1281 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1276 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1275 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1275) + } + _ => panic() + } + + let lifted1278 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1277 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1277) + } + _ => panic() + } + + let lifted1280 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1279 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1279) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1276, max : lifted1278, unit : lifted1280}) + } + _ => panic() + } + + @types.SchemaTypeBody::F32Type(lifted1281) + } + 11 => { + + let lifted1288 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1283 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1282 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1282) + } + _ => panic() + } + + let lifted1285 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1284 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1284) + } + _ => panic() + } + + let lifted1287 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1286 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1286) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1283, max : lifted1285, unit : lifted1287}) + } + _ => panic() + } + + @types.SchemaTypeBody::F64Type(lifted1288) + } + 12 => { + + @types.SchemaTypeBody::CharType + } + 13 => { + + @types.SchemaTypeBody::StringType + } + 14 => { + + let array1303 : Array[@types.NamedFieldType] = []; + for index1304 = 0; index1304 < (mbt_ffi_load32((iter_base) + 12)); index1304 = index1304 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1304 * 68) + + let result1289 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1291 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { + + let result1290 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + Option::Some(result1290) + } + _ => panic() + } + + let array1293 : Array[String] = []; + for index1294 = 0; index1294 < (mbt_ffi_load32((iter_base) + 28)); index1294 = index1294 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1294 * 8) + + let result1292 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1293.push(result1292) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + let array1296 : Array[String] = []; + for index1297 = 0; index1297 < (mbt_ffi_load32((iter_base) + 36)); index1297 = index1297 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1297 * 8) + + let result1295 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1296.push(result1295) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) + + let lifted1299 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let result1298 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) + + Option::Some(result1298) + } + _ => panic() + } + + let lifted1302 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { + + let lifted1301 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1300 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + @types.Role::Other(result1300) + } + _ => panic() + } + + Option::Some(lifted1301) + } + _ => panic() + } + + array1303.push(@types.NamedFieldType::{name : result1289, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1291, aliases : array1293, examples : array1296, deprecated : lifted1299, role : lifted1302}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::RecordType(array1303) + } + 15 => { + + let array1320 : Array[@types.VariantCaseType] = []; + for index1321 = 0; index1321 < (mbt_ffi_load32((iter_base) + 12)); index1321 = index1321 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1321 * 72) + + let result1305 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted1306 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1308 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let result1307 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) + + Option::Some(result1307) + } + _ => panic() + } + + let array1310 : Array[String] = []; + for index1311 = 0; index1311 < (mbt_ffi_load32((iter_base) + 32)); index1311 = index1311 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1311 * 8) + + let result1309 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1310.push(result1309) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + let array1313 : Array[String] = []; + for index1314 = 0; index1314 < (mbt_ffi_load32((iter_base) + 40)); index1314 = index1314 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1314 * 8) + + let result1312 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1313.push(result1312) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) + + let lifted1316 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { + + let result1315 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) + + Option::Some(result1315) + } + _ => panic() + } + + let lifted1319 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { + + let lifted1318 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { + + @types.Role::Multimodal + } + 1 => { + + @types.Role::UnstructuredText + } + 2 => { + + @types.Role::UnstructuredBinary + } + 3 => { + + let result1317 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) + + @types.Role::Other(result1317) + } + _ => panic() + } + + Option::Some(lifted1318) + } + _ => panic() + } + + array1320.push(@types.VariantCaseType::{name : result1305, payload : lifted1306, metadata : @types.MetadataEnvelope::{doc : lifted1308, aliases : array1310, examples : array1313, deprecated : lifted1316, role : lifted1319}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::VariantType(array1320) + } + 16 => { + + let array1323 : Array[String] = []; + for index1324 = 0; index1324 < (mbt_ffi_load32((iter_base) + 12)); index1324 = index1324 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1324 * 8) + + let result1322 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1323.push(result1322) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::EnumType(array1323) + } + 17 => { + + let array1326 : Array[String] = []; + for index1327 = 0; index1327 < (mbt_ffi_load32((iter_base) + 12)); index1327 = index1327 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1327 * 8) + + let result1325 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array1326.push(result1325) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::FlagsType(array1326) + } + 18 => { + + let array1328 : Array[Int] = []; + for index1329 = 0; index1329 < (mbt_ffi_load32((iter_base) + 12)); index1329 = index1329 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1329 * 4) + + array1328.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) + + @types.SchemaTypeBody::TupleType(array1328) + } + 19 => { + + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { + + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { + + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { + + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { + + let lifted1330 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } + + let lifted1331 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } + + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1330, err : lifted1331}) + } + 24 => { + + let lifted1335 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array1333 : Array[String] = []; + for index1334 = 0; index1334 < (mbt_ffi_load32((iter_base) + 16)); index1334 = index1334 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1334 * 8) - Option::Some(lifted499) - } - _ => panic() - } + let result1332 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted502 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result501 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result501) - } - _ => panic() - } + array1333.push(result1332) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - Option::Some(@types.NumericRestrictions::{ - min: lifted498, - max: lifted500, - unit: lifted502, - }) - } - _ => panic() - } + Option::Some(array1333) + } + _ => panic() + } - @types.SchemaTypeBody::S64Type(lifted503) - } - 6 => { - let lifted510 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted505 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted504 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1336 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(lifted504) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - let lifted507 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted506 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1337 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - Option::Some(lifted506) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - let lifted509 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result508 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result508) - } - _ => panic() - } + let lifted1339 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted505, - max: lifted507, - unit: lifted509, - }) - } - _ => panic() - } + let result1338 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - @types.SchemaTypeBody::U8Type(lifted510) - } - 7 => { - let lifted517 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted512 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted511 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1338) + } + _ => panic() + } - Option::Some(lifted511) - } - _ => panic() - } + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1335, min_length : lifted1336, max_length : lifted1337, regex : lifted1339}) + } + 25 => { - let lifted514 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted513 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1343 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted513) - } - _ => panic() - } + let array1341 : Array[String] = []; + for index1342 = 0; index1342 < (mbt_ffi_load32((iter_base) + 16)); index1342 = index1342 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1342 * 8) - let lifted516 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result515 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result515) - } - _ => panic() - } + let result1340 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(@types.NumericRestrictions::{ - min: lifted512, - max: lifted514, - unit: lifted516, - }) - } - _ => panic() - } + array1341.push(result1340) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - @types.SchemaTypeBody::U16Type(lifted517) - } - 8 => { - let lifted524 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted519 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted518 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array1341) + } + _ => panic() + } - Option::Some(lifted518) - } - _ => panic() - } + let lifted1344 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - let lifted521 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted520 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted520) - } - _ => panic() - } + let lifted1345 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - let lifted523 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result522 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result522) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(@types.NumericRestrictions::{ - min: lifted519, - max: lifted521, - unit: lifted523, - }) - } - _ => panic() - } + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1343, min_bytes : lifted1344, max_bytes : lifted1345}) + } + 26 => { - @types.SchemaTypeBody::U32Type(lifted524) - } - 9 => { - let lifted531 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted526 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted525 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1349 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted525) - } - _ => panic() - } + let array1347 : Array[String] = []; + for index1348 = 0; index1348 < (mbt_ffi_load32((iter_base) + 20)); index1348 = index1348 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1348 * 8) - let lifted528 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted527 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1346 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted527) - } - _ => panic() - } + array1347.push(result1346) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - let lifted530 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result529 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result529) - } - _ => panic() - } + Option::Some(array1347) + } + _ => panic() + } - Option::Some(@types.NumericRestrictions::{ - min: lifted526, - max: lifted528, - unit: lifted530, - }) - } - _ => panic() - } + let lifted1353 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::U64Type(lifted531) - } - 10 => { - let lifted538 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted533 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted532 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1351 : Array[String] = []; + for index1352 = 0; index1352 < (mbt_ffi_load32((iter_base) + 32)); index1352 = index1352 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1352 * 8) - Option::Some(lifted532) - } - _ => panic() - } + let result1350 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted535 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted534 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1351.push(result1350) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted534) - } - _ => panic() - } + Option::Some(array1351) + } + _ => panic() + } - let lifted537 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result536 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result536) - } - _ => panic() - } + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1349, allowed_extensions : lifted1353}) + } + 27 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted533, - max: lifted535, - unit: lifted537, - }) - } - _ => panic() - } + let lifted1357 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::F32Type(lifted538) - } - 11 => { - let lifted545 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted540 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted539 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1355 : Array[String] = []; + for index1356 = 0; index1356 < (mbt_ffi_load32((iter_base) + 16)); index1356 = index1356 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1356 * 8) - Option::Some(lifted539) - } - _ => panic() - } + let result1354 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted542 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted541 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1355.push(result1354) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted541) - } - _ => panic() - } + Option::Some(array1355) + } + _ => panic() + } - let lifted544 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result543 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result543) - } - _ => panic() - } + let lifted1361 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted540, - max: lifted542, - unit: lifted544, - }) - } - _ => panic() - } + let array1359 : Array[String] = []; + for index1360 = 0; index1360 < (mbt_ffi_load32((iter_base) + 28)); index1360 = index1360 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1360 * 8) - @types.SchemaTypeBody::F64Type(lifted545) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array560 : Array[@types.NamedFieldType] = [] - for index561 = 0 - index561 < mbt_ffi_load32(iter_base + 12) - index561 = index561 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index561 * 68 - - let result546 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted548 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result547 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result547) - } - _ => panic() - } - - let array550 : Array[String] = [] - for index551 = 0 - index551 < mbt_ffi_load32(iter_base + 28) - index551 = index551 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index551 * 8 - - let result549 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array550.push(result549) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - let array553 : Array[String] = [] - for index554 = 0 - index554 < mbt_ffi_load32(iter_base + 36) - index554 = index554 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index554 * 8 - - let result552 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array553.push(result552) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted556 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result555 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result555) - } - _ => panic() - } - - let lifted559 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted558 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result557 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - @types.Role::Other(result557) - } - _ => panic() - } - - Option::Some(lifted558) - } - _ => panic() - } - - array560.push(@types.NamedFieldType::{ - name: result546, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted548, - aliases: array550, - examples: array553, - deprecated: lifted556, - role: lifted559, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array560) - } - 15 => { - let array577 : Array[@types.VariantCaseType] = [] - for index578 = 0 - index578 < mbt_ffi_load32(iter_base + 12) - index578 = index578 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index578 * 72 - - let result562 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted563 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted565 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result564 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result564) - } - _ => panic() - } - - let array567 : Array[String] = [] - for index568 = 0 - index568 < mbt_ffi_load32(iter_base + 32) - index568 = index568 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index568 * 8 - - let result566 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array567.push(result566) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array570 : Array[String] = [] - for index571 = 0 - index571 < mbt_ffi_load32(iter_base + 40) - index571 = index571 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index571 * 8 - - let result569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array570.push(result569) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted573 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result572) - } - _ => panic() - } - - let lifted576 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted575 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - @types.Role::Other(result574) - } - _ => panic() - } - - Option::Some(lifted575) - } - _ => panic() - } - - array577.push(@types.VariantCaseType::{ - name: result562, - payload: lifted563, - metadata: @types.MetadataEnvelope::{ - doc: lifted565, - aliases: array567, - examples: array570, - deprecated: lifted573, - role: lifted576, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array577) - } - 16 => { - let array580 : Array[String] = [] - for index581 = 0 - index581 < mbt_ffi_load32(iter_base + 12) - index581 = index581 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index581 * 8 - - let result579 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array580.push(result579) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array580) - } - 17 => { - let array583 : Array[String] = [] - for index584 = 0 - index584 < mbt_ffi_load32(iter_base + 12) - index584 = index584 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index584 * 8 - - let result582 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array583.push(result582) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array583) - } - 18 => { - let array585 : Array[Int] = [] - for index586 = 0 - index586 < mbt_ffi_load32(iter_base + 12) - index586 = index586 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index586 * 4 - - array585.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array585) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted587 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted588 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted587, - err: lifted588, - }) - } - 24 => { - let lifted592 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array590 : Array[String] = [] - for index591 = 0 - index591 < mbt_ffi_load32(iter_base + 16) - index591 = index591 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index591 * 8 - - let result589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array590.push(result589) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array590) - } - _ => panic() - } - - let lifted593 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted594 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted596 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result595 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result595) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted592, - min_length: lifted593, - max_length: lifted594, - regex: lifted596, - }) - } - 25 => { - let lifted600 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array598 : Array[String] = [] - for index599 = 0 - index599 < mbt_ffi_load32(iter_base + 16) - index599 = index599 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index599 * 8 - - let result597 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array598.push(result597) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array598) - } - _ => panic() - } - - let lifted601 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted602 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted600, - min_bytes: lifted601, - max_bytes: lifted602, - }) - } - 26 => { - let lifted606 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array604 : Array[String] = [] - for index605 = 0 - index605 < mbt_ffi_load32(iter_base + 20) - index605 = index605 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index605 * 8 - - let result603 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array604.push(result603) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array604) - } - _ => panic() - } - - let lifted610 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array608 : Array[String] = [] - for index609 = 0 - index609 < mbt_ffi_load32(iter_base + 32) - index609 = index609 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index609 * 8 - - let result607 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array608.push(result607) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array608) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted606, - allowed_extensions: lifted610, - }) - } - 27 => { - let lifted614 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array612 : Array[String] = [] - for index613 = 0 - index613 < mbt_ffi_load32(iter_base + 16) - index613 = index613 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index613 * 8 - - let result611 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array612.push(result611) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array612) - } - _ => panic() - } - - let lifted618 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array616 : Array[String] = [] - for index617 = 0 - index617 < mbt_ffi_load32(iter_base + 28) - index617 = index617 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index617 * 8 - - let result615 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array616.push(result615) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let result1358 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(array616) - } - _ => panic() - } + array1359.push(result1358) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted614, - allowed_hosts: lifted618, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result619 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array621 : Array[String] = [] - for index622 = 0 - index622 < mbt_ffi_load32(iter_base + 20) - index622 = index622 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index622 * 8 - - let result620 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array621.push(result620) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted624 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result623 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result623, - }) - } - _ => panic() - } - - let lifted626 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result625 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result625, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result619, - allowed_suffixes: array621, - min: lifted624, - max: lifted626, - }) - } - 31 => { - let array650 : Array[@types.UnionBranch] = [] - for index651 = 0 - index651 < mbt_ffi_load32(iter_base + 12) - index651 = index651 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index651 * 92 - - let result627 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted636 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result628 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result628) - } - 1 => { - let result629 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + Option::Some(array1359) + } + _ => panic() + } - @types.DiscriminatorRule::Suffix(result629) - } - 2 => { - let result630 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1357, allowed_hosts : lifted1361}) + } + 28 => { - @types.DiscriminatorRule::Contains(result630) - } - 3 => { - let result631 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + @types.SchemaTypeBody::DatetimeType + } + 29 => { - @types.DiscriminatorRule::Regex(result631) - } - 4 => { - let result632 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted634 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result633 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - Option::Some(result633) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result632, - literal: lifted634, - }) - } - 5 => { - let result635 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + @types.SchemaTypeBody::DurationType + } + 30 => { - @types.DiscriminatorRule::FieldAbsent(result635) - } - _ => panic() - } - - let lifted638 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result637 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result637) - } - _ => panic() - } - - let array640 : Array[String] = [] - for index641 = 0 - index641 < mbt_ffi_load32(iter_base + 52) - index641 = index641 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index641 * 8 - - let result639 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array640.push(result639) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array643 : Array[String] = [] - for index644 = 0 - index644 < mbt_ffi_load32(iter_base + 60) - index644 = index644 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index644 * 8 - - let result642 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array643.push(result642) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted646 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result645 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result645) - } - _ => panic() - } - - let lifted649 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted648 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) - - @types.Role::Other(result647) - } - _ => panic() - } - - Option::Some(lifted648) - } - _ => panic() - } - - array650.push(@types.UnionBranch::{ - tag: result627, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted636, - metadata: @types.MetadataEnvelope::{ - doc: lifted638, - aliases: array640, - examples: array643, - deprecated: lifted646, - role: lifted649, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array650, - }) - } - 32 => { - let lifted653 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result652 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result652) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted653, - }) - } - 33 => { - let lifted655 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result654) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted655, - }) - } - 34 => { - let lifted656 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted656) - } - 35 => { - let lifted657 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted657) - } - _ => panic() - } - - let lifted660 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result659 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result659) - } - _ => panic() - } - - let array662 : Array[String] = [] - for index663 = 0 - index663 < mbt_ffi_load32(iter_base + 104) - index663 = index663 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + index663 * 8 - - let result661 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array662.push(result661) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array665 : Array[String] = [] - for index666 = 0 - index666 < mbt_ffi_load32(iter_base + 112) - index666 = index666 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + index666 * 8 - - let result664 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array665.push(result664) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted668 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result667 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result667) - } - _ => panic() - } - - let lifted671 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted670 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result669 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result669) - } - _ => panic() - } - - Option::Some(lifted670) - } - _ => panic() - } - - array672.push(@types.SchemaTypeNode::{ - body: lifted658, - metadata: @types.MetadataEnvelope::{ - doc: lifted660, - aliases: array662, - examples: array665, - deprecated: lifted668, - role: lifted671, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - let array677 : Array[@types.SchemaTypeDef] = [] - for index678 = 0 - index678 < mbt_ffi_load32(iter_base + 20) - index678 = index678 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + index678 * 24 - - let result674 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted676 : String? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result675 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result675) - } - _ => panic() - } - - array677.push(@types.SchemaTypeDef::{ - id: result674, - name: lifted676, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let array708 : Array[@types.SchemaValueNode] = [] - for index709 = 0 - index709 < mbt_ffi_load32(iter_base + 32) - index709 = index709 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + index709 * 32 - - let lifted707 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result679 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result679) - } - 13 => { - let array680 : Array[Int] = [] - for index681 = 0 - index681 < mbt_ffi_load32(iter_base + 12) - index681 = index681 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index681 * 4 - - array680.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array680) - } - 14 => { - let lifted682 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted682, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array683 : Array[Bool] = [] - for index684 = 0 - index684 < mbt_ffi_load32(iter_base + 12) - index684 = index684 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index684 * 1 - - array683.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array683) - } - 17 => { - let array685 : Array[Int] = [] - for index686 = 0 - index686 < mbt_ffi_load32(iter_base + 12) - index686 = index686 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index686 * 4 - - array685.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array685) - } - 18 => { - let array687 : Array[Int] = [] - for index688 = 0 - index688 < mbt_ffi_load32(iter_base + 12) - index688 = index688 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index688 * 4 - - array687.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array687) - } - 19 => { - let array689 : Array[Int] = [] - for index690 = 0 - index690 < mbt_ffi_load32(iter_base + 12) - index690 = index690 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index690 * 4 - - array689.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array689) - } - 20 => { - let array691 : Array[@types.MapEntry] = [] - for index692 = 0 - index692 < mbt_ffi_load32(iter_base + 12) - index692 = index692 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index692 * 8 - - array691.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array691) - } - 21 => { - let lifted693 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted693) - } - 22 => { - let lifted696 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted694 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + let result1362 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.ResultValuePayload::OkValue(lifted694) - } - 1 => { - let lifted695 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + let array1364 : Array[String] = []; + for index1365 = 0; index1365 < (mbt_ffi_load32((iter_base) + 20)); index1365 = index1365 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1365 * 8) - @types.ResultValuePayload::ErrValue(lifted695) - } - _ => panic() - } + let result1363 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.SchemaValueNode::ResultValue(lifted696) - } - 23 => { - let result697 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted699 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result698 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result698) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result697, - language: lifted699, - }) - } - 24 => { - let result700 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted702 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result701 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result701) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result700, - mime_type: lifted702, - }) - } - 25 => { - let result703 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) + array1364.push(result1363) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - @types.SchemaValueNode::PathValue(result703) - } - 26 => { - let result704 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) + let lifted1367 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - @types.SchemaValueNode::UrlValue(result704) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result705 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result705, - }) - } - 30 => { - let result706 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result706, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } - - array708.push(lifted707) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - array710.push(LocalAgentConfigEntry::{ - path: array474, - value: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array672, - defs: array677, - root: mbt_ffi_load32(iter_base + 24), - }, - value: @types.SchemaValueTree::{ - value_nodes: array708, - root: mbt_ffi_load32(iter_base + 36), - }, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 160)) - - let lifted712 : @types.Uuid? = match - mbt_ffi_load8_u(iter_base + 168) { - 0 => Option::None - 1 => - Option::Some(@types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 176).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 184).reinterpret_as_uint64(), - }) - _ => panic() - } + let result1366 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - PublicOplogEntry::Create(CreateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - agent_id: @types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - agent_id: result, - }, - agent_mode: AgentMode::from(mbt_ffi_load8_u(iter_base + 48)), - component_revision: mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - env: array, - created_by: @types.AccountId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 72).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - }, - }, - environment_id: @host.EnvironmentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 88).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 96).reinterpret_as_uint64(), - }, - }, - parent: lifted, - component_size: mbt_ffi_load64(iter_base + 136).reinterpret_as_uint64(), - initial_total_linear_memory_size: mbt_ffi_load64(iter_base + 144).reinterpret_as_uint64(), - initial_active_plugins: array471, - local_agent_config: array710, - original_phantom_id: lifted712, - instance_id: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 192).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 200).reinterpret_as_uint64(), - }, - }) - } - 1 => { - let lifted713 : UInt64? = match mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1366}) + } + _ => panic() + } - let result714 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let lifted715 : @types.Uuid? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some(@types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 64).reinterpret_as_uint64(), - }) - _ => panic() - } + let lifted1369 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - let lifted716 : UInt64? = match mbt_ffi_load8_u(iter_base + 72) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1368 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) - let lifted951 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let array913 : Array[@types.SchemaTypeNode] = [] - for index914 = 0 - index914 < mbt_ffi_load32(iter_base + 96) - index914 = index914 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 92) + - index914 * 144 - - let lifted899 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted723 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted718 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted717 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1368}) + } + _ => panic() + } - Option::Some(lifted717) - } - _ => panic() - } - - let lifted720 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted719 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1362, allowed_suffixes : array1364, min : lifted1367, max : lifted1369}) + } + 31 => { - Option::Some(lifted719) - } - _ => panic() - } - - let lifted722 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result721 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result721) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted718, - max: lifted720, - unit: lifted722, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted723) - } - 3 => { - let lifted730 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted725 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted724 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1393 : Array[@types.UnionBranch] = []; + for index1394 = 0; index1394 < (mbt_ffi_load32((iter_base) + 12)); index1394 = index1394 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1394 * 92) - Option::Some(lifted724) - } - _ => panic() - } - - let lifted727 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted726 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1370 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted726) - } - _ => panic() - } - - let lifted729 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result728 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result728) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted725, - max: lifted727, - unit: lifted729, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted730) - } - 4 => { - let lifted737 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted732 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted731 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1379 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { - Option::Some(lifted731) - } - _ => panic() - } - - let lifted734 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted733 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1371 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted733) - } - _ => panic() - } - - let lifted736 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result735 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result735) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted732, - max: lifted734, - unit: lifted736, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted737) - } - 5 => { - let lifted744 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted739 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted738 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::Prefix(result1371) + } + 1 => { - Option::Some(lifted738) - } - _ => panic() - } - - let lifted741 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted740 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1372 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted740) - } - _ => panic() - } - - let lifted743 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result742 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result742) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted739, - max: lifted741, - unit: lifted743, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted744) - } - 6 => { - let lifted751 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted746 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted745 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::Suffix(result1372) + } + 2 => { - Option::Some(lifted745) - } - _ => panic() - } - - let lifted748 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted747 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1373 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted747) - } - _ => panic() - } - - let lifted750 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result749 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result749) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted746, - max: lifted748, - unit: lifted750, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted751) - } - 7 => { - let lifted758 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted753 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted752 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::Contains(result1373) + } + 3 => { - Option::Some(lifted752) - } - _ => panic() - } - - let lifted755 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted754 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1374 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted754) - } - _ => panic() - } - - let lifted757 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result756 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result756) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted753, - max: lifted755, - unit: lifted757, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted758) - } - 8 => { - let lifted765 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted760 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted759 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::Regex(result1374) + } + 4 => { - Option::Some(lifted759) - } - _ => panic() - } - - let lifted762 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted761 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1375 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted761) - } - _ => panic() - } - - let lifted764 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result763 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result763) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted760, - max: lifted762, - unit: lifted764, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted765) - } - 9 => { - let lifted772 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted767 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted766 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1377 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - Option::Some(lifted766) - } - _ => panic() - } - - let lifted769 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted768 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1376 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) - Option::Some(lifted768) - } - _ => panic() - } - - let lifted771 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result770 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result770) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted767, - max: lifted769, - unit: lifted771, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted772) - } - 10 => { - let lifted779 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted774 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted773 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1376) + } + _ => panic() + } - Option::Some(lifted773) - } - _ => panic() - } - - let lifted776 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted775 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1375, literal : lifted1377}) + } + 5 => { - Option::Some(lifted775) - } - _ => panic() - } - - let lifted778 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result777 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result777) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted774, - max: lifted776, - unit: lifted778, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted779) - } - 11 => { - let lifted786 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted781 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted780 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1378 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted780) - } - _ => panic() - } - - let lifted783 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted782 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::FieldAbsent(result1378) + } + _ => panic() + } - Option::Some(lifted782) - } - _ => panic() - } - - let lifted785 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result784 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result784) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted781, - max: lifted783, - unit: lifted785, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted786) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array801 : Array[@types.NamedFieldType] = [] - for index802 = 0 - index802 < mbt_ffi_load32(iter_base + 12) - index802 = index802 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index802 * 68 - - let result787 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted789 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result788 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result788) - } - _ => panic() - } + let lifted1381 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - let array791 : Array[String] = [] - for index792 = 0 - index792 < mbt_ffi_load32(iter_base + 28) - index792 = index792 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index792 * 8 + let result1380 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let result790 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result1380) + } + _ => panic() + } - array791.push(result790) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let array1383 : Array[String] = []; + for index1384 = 0; index1384 < (mbt_ffi_load32((iter_base) + 52)); index1384 = index1384 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1384 * 8) - let array794 : Array[String] = [] - for index795 = 0 - index795 < mbt_ffi_load32(iter_base + 36) - index795 = index795 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index795 * 8 + let result1382 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result793 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1383.push(result1382) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - array794.push(result793) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted797 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result796 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result796) - } - _ => panic() - } + let array1386 : Array[String] = []; + for index1387 = 0; index1387 < (mbt_ffi_load32((iter_base) + 60)); index1387 = index1387 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1387 * 8) - let lifted800 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted799 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result798 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let result1385 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.Role::Other(result798) - } - _ => panic() - } + array1386.push(result1385) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted799) - } - _ => panic() - } + let lifted1389 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - array801.push(@types.NamedFieldType::{ - name: result787, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted789, - aliases: array791, - examples: array794, - deprecated: lifted797, - role: lifted800, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array801) - } - 15 => { - let array818 : Array[@types.VariantCaseType] = [] - for index819 = 0 - index819 < mbt_ffi_load32(iter_base + 12) - index819 = index819 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index819 * 72 - - let result803 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted804 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result1388 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - let lifted806 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result805 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result805) - } - _ => panic() - } + Option::Some(result1388) + } + _ => panic() + } - let array808 : Array[String] = [] - for index809 = 0 - index809 < mbt_ffi_load32(iter_base + 32) - index809 = index809 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index809 * 8 + let lifted1392 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { - let result807 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1391 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { - array808.push(result807) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.Role::Multimodal + } + 1 => { - let array811 : Array[String] = [] - for index812 = 0 - index812 < mbt_ffi_load32(iter_base + 40) - index812 = index812 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index812 * 8 + @types.Role::UnstructuredText + } + 2 => { - let result810 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.Role::UnstructuredBinary + } + 3 => { - array811.push(result810) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted814 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result813 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result813) - } - _ => panic() - } + let result1390 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) - let lifted817 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted816 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result815 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.Role::Other(result1390) + } + _ => panic() + } - @types.Role::Other(result815) - } - _ => panic() - } + Option::Some(lifted1391) + } + _ => panic() + } - Option::Some(lifted816) - } - _ => panic() - } + array1393.push(@types.UnionBranch::{tag : result1370, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1379, metadata : @types.MetadataEnvelope::{doc : lifted1381, aliases : array1383, examples : array1386, deprecated : lifted1389, role : lifted1392}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array818.push(@types.VariantCaseType::{ - name: result803, - payload: lifted804, - metadata: @types.MetadataEnvelope::{ - doc: lifted806, - aliases: array808, - examples: array811, - deprecated: lifted814, - role: lifted817, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array818) - } - 16 => { - let array821 : Array[String] = [] - for index822 = 0 - index822 < mbt_ffi_load32(iter_base + 12) - index822 = index822 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index822 * 8 - - let result820 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array821.push(result820) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array821) - } - 17 => { - let array824 : Array[String] = [] - for index825 = 0 - index825 < mbt_ffi_load32(iter_base + 12) - index825 = index825 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index825 * 8 - - let result823 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array824.push(result823) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array824) - } - 18 => { - let array826 : Array[Int] = [] - for index827 = 0 - index827 < mbt_ffi_load32(iter_base + 12) - index827 = index827 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index827 * 4 - - array826.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array826) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted828 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted829 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted828, - err: lifted829, - }) - } - 24 => { - let lifted833 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array831 : Array[String] = [] - for index832 = 0 - index832 < mbt_ffi_load32(iter_base + 16) - index832 = index832 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index832 * 8 - - let result830 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array831.push(result830) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array831) - } - _ => panic() - } - - let lifted834 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted835 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted837 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result836 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result836) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted833, - min_length: lifted834, - max_length: lifted835, - regex: lifted837, - }) - } - 25 => { - let lifted841 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array839 : Array[String] = [] - for index840 = 0 - index840 < mbt_ffi_load32(iter_base + 16) - index840 = index840 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index840 * 8 - - let result838 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array839.push(result838) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array839) - } - _ => panic() - } - - let lifted842 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted843 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted841, - min_bytes: lifted842, - max_bytes: lifted843, - }) - } - 26 => { - let lifted847 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array845 : Array[String] = [] - for index846 = 0 - index846 < mbt_ffi_load32(iter_base + 20) - index846 = index846 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index846 * 8 - - let result844 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array845.push(result844) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array845) - } - _ => panic() - } - - let lifted851 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array849 : Array[String] = [] - for index850 = 0 - index850 < mbt_ffi_load32(iter_base + 32) - index850 = index850 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index850 * 8 - - let result848 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array849.push(result848) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array849) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted847, - allowed_extensions: lifted851, - }) - } - 27 => { - let lifted855 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array853 : Array[String] = [] - for index854 = 0 - index854 < mbt_ffi_load32(iter_base + 16) - index854 = index854 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index854 * 8 - - let result852 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array853.push(result852) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array853) - } - _ => panic() - } - - let lifted859 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array857 : Array[String] = [] - for index858 = 0 - index858 < mbt_ffi_load32(iter_base + 28) - index858 = index858 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index858 * 8 - - let result856 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array857.push(result856) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array857) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted855, - allowed_hosts: lifted859, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result860 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array862 : Array[String] = [] - for index863 = 0 - index863 < mbt_ffi_load32(iter_base + 20) - index863 = index863 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index863 * 8 - - let result861 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array862.push(result861) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted865 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result864 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result864, - }) - } - _ => panic() - } - - let lifted867 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result866 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result866, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result860, - allowed_suffixes: array862, - min: lifted865, - max: lifted867, - }) - } - 31 => { - let array891 : Array[@types.UnionBranch] = [] - for index892 = 0 - index892 < mbt_ffi_load32(iter_base + 12) - index892 = index892 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index892 * 92 - - let result868 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted877 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result869 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result869) - } - 1 => { - let result870 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result870) - } - 2 => { - let result871 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result871) - } - 3 => { - let result872 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result872) - } - 4 => { - let result873 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted875 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result874 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1393}) + } + 32 => { - Option::Some(result874) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result873, - literal: lifted875, - }) - } - 5 => { - let result876 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result876) - } - _ => panic() - } + let lifted1396 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let lifted879 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result878 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result878) - } - _ => panic() - } + let result1395 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let array881 : Array[String] = [] - for index882 = 0 - index882 < mbt_ffi_load32(iter_base + 52) - index882 = index882 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index882 * 8 + Option::Some(result1395) + } + _ => panic() + } - let result880 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1396}) + } + 33 => { - array881.push(result880) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let lifted1398 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array884 : Array[String] = [] - for index885 = 0 - index885 < mbt_ffi_load32(iter_base + 60) - index885 = index885 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index885 * 8 + let result1397 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - let result883 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result1397) + } + _ => panic() + } - array884.push(result883) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted887 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result886 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result886) - } - _ => panic() - } + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1398}) + } + 34 => { - let lifted890 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted889 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result888 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let lifted1399 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.Role::Other(result888) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted889) - } - _ => panic() - } + @types.SchemaTypeBody::FutureType(lifted1399) + } + 35 => { - array891.push(@types.UnionBranch::{ - tag: result868, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted877, - metadata: @types.MetadataEnvelope::{ - doc: lifted879, - aliases: array881, - examples: array884, - deprecated: lifted887, - role: lifted890, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array891, - }) - } - 32 => { - let lifted894 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result893 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result893) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted894, - }) - } - 33 => { - let lifted896 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result895 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result895) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted896, - }) - } - 34 => { - let lifted897 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted897) - } - 35 => { - let lifted898 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted898) - } - _ => panic() - } + let lifted1400 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted901 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result900 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result900) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let array903 : Array[String] = [] - for index904 = 0 - index904 < mbt_ffi_load32(iter_base + 104) - index904 = index904 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index904 * 8 + @types.SchemaTypeBody::StreamType(lifted1400) + } + _ => panic() + } - let result902 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1403 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { - array903.push(result902) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let result1402 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) - let array906 : Array[String] = [] - for index907 = 0 - index907 < mbt_ffi_load32(iter_base + 112) - index907 = index907 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index907 * 8 + Option::Some(result1402) + } + _ => panic() + } - let result905 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1405 : Array[String] = []; + for index1406 = 0; index1406 < (mbt_ffi_load32((iter_base) + 104)); index1406 = index1406 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1406 * 8) - array906.push(result905) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted909 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result908 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result908) - } - _ => panic() - } + let result1404 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted912 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted911 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result910 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result910) - } - _ => panic() - } + array1405.push(result1404) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) - Option::Some(lifted911) - } - _ => panic() - } + let array1408 : Array[String] = []; + for index1409 = 0; index1409 < (mbt_ffi_load32((iter_base) + 112)); index1409 = index1409 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1409 * 8) - array913.push(@types.SchemaTypeNode::{ - body: lifted899, - metadata: @types.MetadataEnvelope::{ - doc: lifted901, - aliases: array903, - examples: array906, - deprecated: lifted909, - role: lifted912, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 92)) - - let array918 : Array[@types.SchemaTypeDef] = [] - for index919 = 0 - index919 < mbt_ffi_load32(iter_base + 104) - index919 = index919 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index919 * 24 - - let result915 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted917 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result916 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result916) - } - _ => panic() - } + let result1407 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array918.push(@types.SchemaTypeDef::{ - id: result915, - name: lifted917, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array949 : Array[@types.SchemaValueNode] = [] - for index950 = 0 - index950 < mbt_ffi_load32(iter_base + 116) - index950 = index950 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 112) + - index950 * 32 - - let lifted948 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result920 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result920) - } - 13 => { - let array921 : Array[Int] = [] - for index922 = 0 - index922 < mbt_ffi_load32(iter_base + 12) - index922 = index922 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index922 * 4 - - array921.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array921) - } - 14 => { - let lifted923 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted923, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array924 : Array[Bool] = [] - for index925 = 0 - index925 < mbt_ffi_load32(iter_base + 12) - index925 = index925 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index925 * 1 - - array924.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array924) - } - 17 => { - let array926 : Array[Int] = [] - for index927 = 0 - index927 < mbt_ffi_load32(iter_base + 12) - index927 = index927 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index927 * 4 - - array926.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array926) - } - 18 => { - let array928 : Array[Int] = [] - for index929 = 0 - index929 < mbt_ffi_load32(iter_base + 12) - index929 = index929 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index929 * 4 - - array928.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array928) - } - 19 => { - let array930 : Array[Int] = [] - for index931 = 0 - index931 < mbt_ffi_load32(iter_base + 12) - index931 = index931 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index931 * 4 - - array930.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array930) - } - 20 => { - let array932 : Array[@types.MapEntry] = [] - for index933 = 0 - index933 < mbt_ffi_load32(iter_base + 12) - index933 = index933 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index933 * 8 - - array932.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array932) - } - 21 => { - let lifted934 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted934) - } - 22 => { - let lifted937 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted935 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted935) - } - 1 => { - let lifted936 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted936) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted937) - } - 23 => { - let result938 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted940 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result939 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result939) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result938, - language: lifted940, - }) - } - 24 => { - let result941 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted943 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result942 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result942) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result941, - mime_type: lifted943, - }) - } - 25 => { - let result944 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result944) - } - 26 => { - let result945 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result945) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result946 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result946, - }) - } - 30 => { - let result947 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result947, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + array1408.push(result1407) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) - array949.push(lifted948) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 112)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array913, - defs: array918, - root: mbt_ffi_load32(iter_base + 108), - }, - value: @types.SchemaValueTree::{ - value_nodes: array949, - root: mbt_ffi_load32(iter_base + 120), - }, - }) - } - _ => panic() - } + let lifted1411 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { - let lifted954 = match mbt_ffi_load8_u(iter_base + 128) { - 0 => WrappedFunctionType::ReadLocal - 1 => WrappedFunctionType::WriteLocal - 2 => WrappedFunctionType::ReadRemote - 3 => WrappedFunctionType::WriteRemote - 4 => { - let lifted952 : UInt64? = match - mbt_ffi_load8_u(iter_base + 136) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 144).reinterpret_as_uint64(), - ) - _ => panic() - } - - WrappedFunctionType::WriteRemoteBatched(lifted952) - } - 5 => { - let lifted953 : UInt64? = match - mbt_ffi_load8_u(iter_base + 136) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 144).reinterpret_as_uint64(), - ) - _ => panic() - } - - WrappedFunctionType::WriteRemoteTransaction(lifted953) - } - _ => panic() - } + let result1410 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) - PublicOplogEntry::Start(StartParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - parent_start_index: lifted713, - function_name: result714, - invocation_id: lifted715, - observational_owner: lifted716, - request: lifted951, - durable_function_type: lifted954, - }) - } - 2 => { - let lifted1189 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let array1151 : Array[@types.SchemaTypeNode] = [] - for index1152 = 0 - index1152 < mbt_ffi_load32(iter_base + 40) - index1152 = index1152 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1152 * 144 - - let lifted1137 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted961 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted956 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted955 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1410) + } + _ => panic() + } - Option::Some(lifted955) - } - _ => panic() - } - - let lifted958 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted957 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1414 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { - Option::Some(lifted957) - } - _ => panic() - } - - let lifted960 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result959 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result959) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted956, - max: lifted958, - unit: lifted960, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted961) - } - 3 => { - let lifted968 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted963 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted962 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1413 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { - Option::Some(lifted962) - } - _ => panic() - } - - let lifted965 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted964 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted964) - } - _ => panic() - } - - let lifted967 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result966 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result966) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted963, - max: lifted965, - unit: lifted967, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted968) - } - 4 => { - let lifted975 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted970 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted969 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - Option::Some(lifted969) - } - _ => panic() - } - - let lifted972 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted971 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted971) - } - _ => panic() - } - - let lifted974 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result973 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result973) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted970, - max: lifted972, - unit: lifted974, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted975) - } - 5 => { - let lifted982 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted977 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted976 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1412 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) - Option::Some(lifted976) - } - _ => panic() - } - - let lifted979 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted978 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Other(result1412) + } + _ => panic() + } - Option::Some(lifted978) - } - _ => panic() - } - - let lifted981 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result980 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result980) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted977, - max: lifted979, - unit: lifted981, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted982) - } - 6 => { - let lifted989 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted984 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted983 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1413) + } + _ => panic() + } - Option::Some(lifted983) - } - _ => panic() - } - - let lifted986 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted985 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1415.push(@types.SchemaTypeNode::{body : lifted1401, metadata : @types.MetadataEnvelope::{doc : lifted1403, aliases : array1405, examples : array1408, deprecated : lifted1411, role : lifted1414}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted985) - } - _ => panic() - } - - let lifted988 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result987 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result987) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted984, - max: lifted986, - unit: lifted988, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted989) - } - 7 => { - let lifted996 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted991 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted990 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1420 : Array[@types.SchemaTypeDef] = []; + for index1421 = 0; index1421 < (mbt_ffi_load32((iter_base) + 68)); index1421 = index1421 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index1421 * 24) - Option::Some(lifted990) - } - _ => panic() - } - - let lifted993 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted992 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1417 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted992) - } - _ => panic() - } - - let lifted995 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result994 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result994) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted991, - max: lifted993, - unit: lifted995, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted996) - } - 8 => { - let lifted1003 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted998 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted997 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1419 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted997) - } - _ => panic() - } - - let lifted1000 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted999 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1418 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - Option::Some(lifted999) - } - _ => panic() - } - - let lifted1002 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1001 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1001) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted998, - max: lifted1000, - unit: lifted1002, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1003) - } - 9 => { - let lifted1010 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1005 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1004 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1418) + } + _ => panic() + } - Option::Some(lifted1004) - } - _ => panic() - } - - let lifted1007 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1006 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1420.push(@types.SchemaTypeDef::{id : result1417, name : lifted1419, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) - Option::Some(lifted1006) - } - _ => panic() - } - - let lifted1009 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1008 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1008) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1005, - max: lifted1007, - unit: lifted1009, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1010) - } - 10 => { - let lifted1017 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1012 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1011 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1451 : Array[@types.SchemaValueNode] = []; + for index1452 = 0; index1452 < (mbt_ffi_load32((iter_base) + 80)); index1452 = index1452 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 76)) + (index1452 * 32) - Option::Some(lifted1011) - } - _ => panic() - } - - let lifted1014 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1013 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1450 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted1013) - } - _ => panic() - } - - let lifted1016 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1015 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1015) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1012, - max: lifted1014, - unit: lifted1016, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1017) - } - 11 => { - let lifted1024 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1019 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1018 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { - Option::Some(lifted1018) - } - _ => panic() - } - - let lifted1021 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1020 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { - Option::Some(lifted1020) - } - _ => panic() - } - - let lifted1023 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1022 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1022) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1019, - max: lifted1021, - unit: lifted1023, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1024) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1039 : Array[@types.NamedFieldType] = [] - for index1040 = 0 - index1040 < mbt_ffi_load32(iter_base + 12) - index1040 = index1040 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1040 * 68 - - let result1025 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1027 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1026 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1026) - } - _ => panic() - } + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { - let array1029 : Array[String] = [] - for index1030 = 0 - index1030 < mbt_ffi_load32(iter_base + 28) - index1030 = index1030 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1030 * 8 + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { - let result1028 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { - array1029.push(result1028) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { - let array1032 : Array[String] = [] - for index1033 = 0 - index1033 < mbt_ffi_load32(iter_base + 36) - index1033 = index1033 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1033 * 8 + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { - let result1031 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { - array1032.push(result1031) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1035 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1034 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1034) - } - _ => panic() - } + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { - let lifted1038 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1037 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1036 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { - @types.Role::Other(result1036) - } - _ => panic() - } + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { - Option::Some(lifted1037) - } - _ => panic() - } + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { - array1039.push(@types.NamedFieldType::{ - name: result1025, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1027, - aliases: array1029, - examples: array1032, - deprecated: lifted1035, - role: lifted1038, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1039) - } - 15 => { - let array1056 : Array[@types.VariantCaseType] = [] - for index1057 = 0 - index1057 < mbt_ffi_load32(iter_base + 12) - index1057 = index1057 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1057 * 72 - - let result1041 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1042 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result1422 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let lifted1044 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1043 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1043) - } - _ => panic() - } + @types.SchemaValueNode::StringValue(result1422) + } + 13 => { - let array1046 : Array[String] = [] - for index1047 = 0 - index1047 < mbt_ffi_load32(iter_base + 32) - index1047 = index1047 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1047 * 8 + let array1423 : Array[Int] = []; + for index1424 = 0; index1424 < (mbt_ffi_load32((iter_base) + 12)); index1424 = index1424 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1424 * 4) - let result1045 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1423.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1046.push(result1045) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.SchemaValueNode::RecordValue(array1423) + } + 14 => { - let array1049 : Array[String] = [] - for index1050 = 0 - index1050 < mbt_ffi_load32(iter_base + 40) - index1050 = index1050 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1050 * 8 + let lifted1425 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let result1048 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - array1049.push(result1048) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1052 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1051 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1051) - } - _ => panic() - } + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1425}) + } + 15 => { - let lifted1055 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1054 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1053 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { - @types.Role::Other(result1053) - } - _ => panic() - } + let array1426 : Array[Bool] = []; + for index1427 = 0; index1427 < (mbt_ffi_load32((iter_base) + 12)); index1427 = index1427 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1427 * 1) - Option::Some(lifted1054) - } - _ => panic() - } + array1426.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1056.push(@types.VariantCaseType::{ - name: result1041, - payload: lifted1042, - metadata: @types.MetadataEnvelope::{ - doc: lifted1044, - aliases: array1046, - examples: array1049, - deprecated: lifted1052, - role: lifted1055, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1056) - } - 16 => { - let array1059 : Array[String] = [] - for index1060 = 0 - index1060 < mbt_ffi_load32(iter_base + 12) - index1060 = index1060 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1060 * 8 - - let result1058 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1059.push(result1058) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1059) - } - 17 => { - let array1062 : Array[String] = [] - for index1063 = 0 - index1063 < mbt_ffi_load32(iter_base + 12) - index1063 = index1063 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1063 * 8 - - let result1061 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1062.push(result1061) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1062) - } - 18 => { - let array1064 : Array[Int] = [] - for index1065 = 0 - index1065 < mbt_ffi_load32(iter_base + 12) - index1065 = index1065 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1065 * 4 - - array1064.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1064) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1066 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1067 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1066, - err: lifted1067, - }) - } - 24 => { - let lifted1071 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1069 : Array[String] = [] - for index1070 = 0 - index1070 < mbt_ffi_load32(iter_base + 16) - index1070 = index1070 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1070 * 8 - - let result1068 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1069.push(result1068) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1069) - } - _ => panic() - } - - let lifted1072 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1073 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1075 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1074 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1074) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1071, - min_length: lifted1072, - max_length: lifted1073, - regex: lifted1075, - }) - } - 25 => { - let lifted1079 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1077 : Array[String] = [] - for index1078 = 0 - index1078 < mbt_ffi_load32(iter_base + 16) - index1078 = index1078 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1078 * 8 - - let result1076 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1077.push(result1076) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1077) - } - _ => panic() - } - - let lifted1080 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1081 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1079, - min_bytes: lifted1080, - max_bytes: lifted1081, - }) - } - 26 => { - let lifted1085 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1083 : Array[String] = [] - for index1084 = 0 - index1084 < mbt_ffi_load32(iter_base + 20) - index1084 = index1084 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1084 * 8 - - let result1082 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1083.push(result1082) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1083) - } - _ => panic() - } - - let lifted1089 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1087 : Array[String] = [] - for index1088 = 0 - index1088 < mbt_ffi_load32(iter_base + 32) - index1088 = index1088 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1088 * 8 - - let result1086 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1087.push(result1086) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1087) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1085, - allowed_extensions: lifted1089, - }) - } - 27 => { - let lifted1093 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1091 : Array[String] = [] - for index1092 = 0 - index1092 < mbt_ffi_load32(iter_base + 16) - index1092 = index1092 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1092 * 8 - - let result1090 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1091.push(result1090) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1091) - } - _ => panic() - } - - let lifted1097 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1095 : Array[String] = [] - for index1096 = 0 - index1096 < mbt_ffi_load32(iter_base + 28) - index1096 = index1096 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1096 * 8 - - let result1094 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1095.push(result1094) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1095) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1093, - allowed_hosts: lifted1097, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1098 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1100 : Array[String] = [] - for index1101 = 0 - index1101 < mbt_ffi_load32(iter_base + 20) - index1101 = index1101 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1101 * 8 - - let result1099 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1100.push(result1099) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1103 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1102 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1102, - }) - } - _ => panic() - } - - let lifted1105 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1104 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1104, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1098, - allowed_suffixes: array1100, - min: lifted1103, - max: lifted1105, - }) - } - 31 => { - let array1129 : Array[@types.UnionBranch] = [] - for index1130 = 0 - index1130 < mbt_ffi_load32(iter_base + 12) - index1130 = index1130 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1130 * 92 - - let result1106 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1115 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1107 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1107) - } - 1 => { - let result1108 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1108) - } - 2 => { - let result1109 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1109) - } - 3 => { - let result1110 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1110) - } - 4 => { - let result1111 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1113 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1112 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.SchemaValueNode::FlagsValue(array1426) + } + 17 => { - Option::Some(result1112) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1111, - literal: lifted1113, - }) - } - 5 => { - let result1114 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1114) - } - _ => panic() - } + let array1428 : Array[Int] = []; + for index1429 = 0; index1429 < (mbt_ffi_load32((iter_base) + 12)); index1429 = index1429 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1429 * 4) - let lifted1117 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1116 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1116) - } - _ => panic() - } + array1428.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array1119 : Array[String] = [] - for index1120 = 0 - index1120 < mbt_ffi_load32(iter_base + 52) - index1120 = index1120 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1120 * 8 + @types.SchemaValueNode::TupleValue(array1428) + } + 18 => { - let result1118 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1430 : Array[Int] = []; + for index1431 = 0; index1431 < (mbt_ffi_load32((iter_base) + 12)); index1431 = index1431 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1431 * 4) - array1119.push(result1118) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + array1430.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array1122 : Array[String] = [] - for index1123 = 0 - index1123 < mbt_ffi_load32(iter_base + 60) - index1123 = index1123 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1123 * 8 + @types.SchemaValueNode::ListValue(array1430) + } + 19 => { - let result1121 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1432 : Array[Int] = []; + for index1433 = 0; index1433 < (mbt_ffi_load32((iter_base) + 12)); index1433 = index1433 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1433 * 4) - array1122.push(result1121) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1125 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1124 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1124) - } - _ => panic() - } + array1432.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let lifted1128 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1127 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1126 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @types.SchemaValueNode::FixedListValue(array1432) + } + 20 => { - @types.Role::Other(result1126) - } - _ => panic() - } + let array1434 : Array[@types.MapEntry] = []; + for index1435 = 0; index1435 < (mbt_ffi_load32((iter_base) + 12)); index1435 = index1435 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1435 * 8) - Option::Some(lifted1127) - } - _ => panic() - } + array1434.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1129.push(@types.UnionBranch::{ - tag: result1106, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1115, - metadata: @types.MetadataEnvelope::{ - doc: lifted1117, - aliases: array1119, - examples: array1122, - deprecated: lifted1125, - role: lifted1128, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1129, - }) - } - 32 => { - let lifted1132 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1131 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1131) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1132, - }) - } - 33 => { - let lifted1134 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1133 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1133) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1134, - }) - } - 34 => { - let lifted1135 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1135) - } - 35 => { - let lifted1136 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1136) - } - _ => panic() - } + @types.SchemaValueNode::MapValue(array1434) + } + 21 => { - let lifted1139 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1138 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1138) - } - _ => panic() - } + let lifted1436 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array1141 : Array[String] = [] - for index1142 = 0 - index1142 < mbt_ffi_load32(iter_base + 104) - index1142 = index1142 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1142 * 8 + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let result1140 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::OptionValue(lifted1436) + } + 22 => { - array1141.push(result1140) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let lifted1439 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - let array1144 : Array[String] = [] - for index1145 = 0 - index1145 < mbt_ffi_load32(iter_base + 112) - index1145 = index1145 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1145 * 8 + let lifted1437 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let result1143 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - array1144.push(result1143) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1147 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1146 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1146) - } - _ => panic() - } + @types.ResultValuePayload::OkValue(lifted1437) + } + 1 => { - let lifted1150 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1149 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1148 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1148) - } - _ => panic() - } + let lifted1438 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted1149) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - array1151.push(@types.SchemaTypeNode::{ - body: lifted1137, - metadata: @types.MetadataEnvelope::{ - doc: lifted1139, - aliases: array1141, - examples: array1144, - deprecated: lifted1147, - role: lifted1150, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array1156 : Array[@types.SchemaTypeDef] = [] - for index1157 = 0 - index1157 < mbt_ffi_load32(iter_base + 48) - index1157 = index1157 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + - index1157 * 24 - - let result1153 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1155 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1154 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1154) - } - _ => panic() - } + @types.ResultValuePayload::ErrValue(lifted1438) + } + _ => panic() + } - array1156.push(@types.SchemaTypeDef::{ - id: result1153, - name: lifted1155, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array1187 : Array[@types.SchemaValueNode] = [] - for index1188 = 0 - index1188 < mbt_ffi_load32(iter_base + 60) - index1188 = index1188 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1188 * 32 - - let lifted1186 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1158 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1158) - } - 13 => { - let array1159 : Array[Int] = [] - for index1160 = 0 - index1160 < mbt_ffi_load32(iter_base + 12) - index1160 = index1160 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1160 * 4 - - array1159.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1159) - } - 14 => { - let lifted1161 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1161, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1162 : Array[Bool] = [] - for index1163 = 0 - index1163 < mbt_ffi_load32(iter_base + 12) - index1163 = index1163 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1163 * 1 - - array1162.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1162) - } - 17 => { - let array1164 : Array[Int] = [] - for index1165 = 0 - index1165 < mbt_ffi_load32(iter_base + 12) - index1165 = index1165 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1165 * 4 - - array1164.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1164) - } - 18 => { - let array1166 : Array[Int] = [] - for index1167 = 0 - index1167 < mbt_ffi_load32(iter_base + 12) - index1167 = index1167 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1167 * 4 - - array1166.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1166) - } - 19 => { - let array1168 : Array[Int] = [] - for index1169 = 0 - index1169 < mbt_ffi_load32(iter_base + 12) - index1169 = index1169 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1169 * 4 - - array1168.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1168) - } - 20 => { - let array1170 : Array[@types.MapEntry] = [] - for index1171 = 0 - index1171 < mbt_ffi_load32(iter_base + 12) - index1171 = index1171 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1171 * 8 - - array1170.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1170) - } - 21 => { - let lifted1172 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1172) - } - 22 => { - let lifted1175 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1173 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1173) - } - 1 => { - let lifted1174 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1174) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1175) - } - 23 => { - let result1176 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1178 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1177 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1177) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1176, - language: lifted1178, - }) - } - 24 => { - let result1179 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1181 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1180 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1180) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1179, - mime_type: lifted1181, - }) - } - 25 => { - let result1182 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1182) - } - 26 => { - let result1183 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1183) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1184 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1184, - }) - } - 30 => { - let result1185 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1185, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.SchemaValueNode::ResultValue(lifted1439) + } + 23 => { - array1187.push(lifted1186) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1151, - defs: array1156, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1187, - root: mbt_ffi_load32(iter_base + 64), - }, - }) - } - _ => panic() - } + let result1440 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - PublicOplogEntry::End(EndParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - response: lifted1189, - forced_commit: mbt_ffi_load8_u(iter_base + 68) != 0, - }) - } - 3 => { - let lifted1424 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let array1386 : Array[@types.SchemaTypeNode] = [] - for index1387 = 0 - index1387 < mbt_ffi_load32(iter_base + 40) - index1387 = index1387 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1387 * 144 - - let lifted1372 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1196 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1191 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1190 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1442 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1190) - } - _ => panic() - } - - let lifted1193 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1192 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1441 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted1192) - } - _ => panic() - } - - let lifted1195 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1194 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1194) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1191, - max: lifted1193, - unit: lifted1195, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1196) - } - 3 => { - let lifted1203 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1198 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1197 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1441) + } + _ => panic() + } - Option::Some(lifted1197) - } - _ => panic() - } - - let lifted1200 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1199 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1440, language : lifted1442}) + } + 24 => { - Option::Some(lifted1199) - } - _ => panic() - } - - let lifted1202 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1201 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1201) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1198, - max: lifted1200, - unit: lifted1202, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1203) - } - 4 => { - let lifted1210 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1205 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1204 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1443 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1204) - } - _ => panic() - } - - let lifted1207 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1206 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1445 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1206) - } - _ => panic() - } - - let lifted1209 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1208 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1208) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1205, - max: lifted1207, - unit: lifted1209, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1210) - } - 5 => { - let lifted1217 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1212 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1211 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1444 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted1211) - } - _ => panic() - } - - let lifted1214 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1213 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1444) + } + _ => panic() + } - Option::Some(lifted1213) - } - _ => panic() - } - - let lifted1216 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1215 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1215) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1212, - max: lifted1214, - unit: lifted1216, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1217) - } - 6 => { - let lifted1224 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1219 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1218 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1443, mime_type : lifted1445}) + } + 25 => { - Option::Some(lifted1218) - } - _ => panic() - } - - let lifted1221 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1220 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1446 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1220) - } - _ => panic() - } - - let lifted1223 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1222 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1222) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1219, - max: lifted1221, - unit: lifted1223, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1224) - } - 7 => { - let lifted1231 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1226 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1225 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::PathValue(result1446) + } + 26 => { - Option::Some(lifted1225) - } - _ => panic() - } - - let lifted1228 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1227 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1447 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1227) - } - _ => panic() - } - - let lifted1230 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1229 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1229) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1226, - max: lifted1228, - unit: lifted1230, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1231) - } - 8 => { - let lifted1238 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1233 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1232 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::UrlValue(result1447) + } + 27 => { - Option::Some(lifted1232) - } - _ => panic() - } - - let lifted1235 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1234 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { - Option::Some(lifted1234) - } - _ => panic() - } - - let lifted1237 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1236 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1236) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1233, - max: lifted1235, - unit: lifted1237, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1238) - } - 9 => { - let lifted1245 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1240 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1239 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { - Option::Some(lifted1239) - } - _ => panic() - } - - let lifted1242 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1241 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1448 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted1241) - } - _ => panic() - } - - let lifted1244 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1243 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1243) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1240, - max: lifted1242, - unit: lifted1244, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1245) - } - 10 => { - let lifted1252 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1247 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1246 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1448}) + } + 30 => { - Option::Some(lifted1246) - } - _ => panic() - } - - let lifted1249 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1248 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1449 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1248) - } - _ => panic() - } - - let lifted1251 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1250 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1250) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1247, - max: lifted1249, - unit: lifted1251, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1252) - } - 11 => { - let lifted1259 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1254 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1253 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1449, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { - Option::Some(lifted1253) - } - _ => panic() - } - - let lifted1256 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1255 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { - Option::Some(lifted1255) - } - _ => panic() - } - - let lifted1258 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1257 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1257) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1254, - max: lifted1256, - unit: lifted1258, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1259) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1274 : Array[@types.NamedFieldType] = [] - for index1275 = 0 - index1275 < mbt_ffi_load32(iter_base + 12) - index1275 = index1275 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1275 * 68 - - let result1260 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1262 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1261 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1261) - } - _ => panic() - } + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } - let array1264 : Array[String] = [] - for index1265 = 0 - index1265 < mbt_ffi_load32(iter_base + 28) - index1265 = index1265 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1265 * 8 + array1451.push(lifted1450) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 76)) - let result1263 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1453 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 88), mbt_ffi_load32((iter_base) + 92)) - array1264.push(result1263) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let array1455 : Array[String] = []; + for index1456 = 0; index1456 < (mbt_ffi_load32((iter_base) + 100)); index1456 = index1456 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index1456 * 8) - let array1267 : Array[String] = [] - for index1268 = 0 - index1268 < mbt_ffi_load32(iter_base + 36) - index1268 = index1268 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1268 * 8 + let result1454 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1266 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1455.push(result1454) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) - array1267.push(result1266) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1270 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1269 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1269) - } - _ => panic() - } + let array1470 : Array[Array[SpanData]] = []; + for index1471 = 0; index1471 < (mbt_ffi_load32((iter_base) + 108)); index1471 = index1471 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 104)) + (index1471 * 8) - let lifted1273 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1272 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1271 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let array1468 : Array[SpanData] = []; + for index1469 = 0; index1469 < (mbt_ffi_load32((iter_base) + 4)); index1469 = index1469 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index1469 * 80) - @types.Role::Other(result1271) - } - _ => panic() - } + let lifted1467 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted1272) - } - _ => panic() - } + let result1457 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1274.push(@types.NamedFieldType::{ - name: result1260, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1262, - aliases: array1264, - examples: array1267, - deprecated: lifted1270, - role: lifted1273, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1274) - } - 15 => { - let array1291 : Array[@types.VariantCaseType] = [] - for index1292 = 0 - index1292 < mbt_ffi_load32(iter_base + 12) - index1292 = index1292 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1292 * 72 - - let result1276 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1277 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let lifted1459 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { - let lifted1279 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1278 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1278) - } - _ => panic() - } + let result1458 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) - let array1281 : Array[String] = [] - for index1282 = 0 - index1282 < mbt_ffi_load32(iter_base + 32) - index1282 = index1282 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1282 * 8 + Option::Some(result1458) + } + _ => panic() + } - let result1280 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1460 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { - array1281.push(result1280) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - let array1284 : Array[String] = [] - for index1285 = 0 - index1285 < mbt_ffi_load32(iter_base + 40) - index1285 = index1285 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1285 * 8 + let array1464 : Array[@context.Attribute] = []; + for index1465 = 0; index1465 < (mbt_ffi_load32((iter_base) + 68)); index1465 = index1465 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index1465 * 20) - let result1283 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1461 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array1284.push(result1283) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1287 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1286 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1286) - } - _ => panic() - } + let lifted1463 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - let lifted1290 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1289 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1288 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result1462 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - @types.Role::Other(result1288) - } - _ => panic() - } + @context.AttributeValue::String(result1462) + } + _ => panic() + } - Option::Some(lifted1289) - } - _ => panic() - } + array1464.push(@context.Attribute::{key : result1461, value : lifted1463}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) - array1291.push(@types.VariantCaseType::{ - name: result1276, - payload: lifted1277, - metadata: @types.MetadataEnvelope::{ - doc: lifted1279, - aliases: array1281, - examples: array1284, - deprecated: lifted1287, - role: lifted1290, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1291) - } - 16 => { - let array1294 : Array[String] = [] - for index1295 = 0 - index1295 < mbt_ffi_load32(iter_base + 12) - index1295 = index1295 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1295 * 8 - - let result1293 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1294.push(result1293) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1294) - } - 17 => { - let array1297 : Array[String] = [] - for index1298 = 0 - index1298 < mbt_ffi_load32(iter_base + 12) - index1298 = index1298 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1298 * 8 - - let result1296 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1297.push(result1296) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1297) - } - 18 => { - let array1299 : Array[Int] = [] - for index1300 = 0 - index1300 < mbt_ffi_load32(iter_base + 12) - index1300 = index1300 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1300 * 4 - - array1299.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1299) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1301 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1302 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1301, - err: lifted1302, - }) - } - 24 => { - let lifted1306 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1304 : Array[String] = [] - for index1305 = 0 - index1305 < mbt_ffi_load32(iter_base + 16) - index1305 = index1305 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1305 * 8 - - let result1303 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1304.push(result1303) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1304) - } - _ => panic() - } - - let lifted1307 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1308 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1310 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1309 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1309) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1306, - min_length: lifted1307, - max_length: lifted1308, - regex: lifted1310, - }) - } - 25 => { - let lifted1314 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1312 : Array[String] = [] - for index1313 = 0 - index1313 < mbt_ffi_load32(iter_base + 16) - index1313 = index1313 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1313 * 8 - - let result1311 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1312.push(result1311) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1312) - } - _ => panic() - } - - let lifted1315 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1316 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1314, - min_bytes: lifted1315, - max_bytes: lifted1316, - }) - } - 26 => { - let lifted1320 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1318 : Array[String] = [] - for index1319 = 0 - index1319 < mbt_ffi_load32(iter_base + 20) - index1319 = index1319 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1319 * 8 - - let result1317 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1318.push(result1317) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1318) - } - _ => panic() - } - - let lifted1324 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1322 : Array[String] = [] - for index1323 = 0 - index1323 < mbt_ffi_load32(iter_base + 32) - index1323 = index1323 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1323 * 8 - - let result1321 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1322.push(result1321) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1322) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1320, - allowed_extensions: lifted1324, - }) - } - 27 => { - let lifted1328 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1326 : Array[String] = [] - for index1327 = 0 - index1327 < mbt_ffi_load32(iter_base + 16) - index1327 = index1327 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1327 * 8 - - let result1325 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1326.push(result1325) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1326) - } - _ => panic() - } - - let lifted1332 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1330 : Array[String] = [] - for index1331 = 0 - index1331 < mbt_ffi_load32(iter_base + 28) - index1331 = index1331 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1331 * 8 - - let result1329 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1330.push(result1329) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1330) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1328, - allowed_hosts: lifted1332, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1333 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1335 : Array[String] = [] - for index1336 = 0 - index1336 < mbt_ffi_load32(iter_base + 20) - index1336 = index1336 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1336 * 8 - - let result1334 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1335.push(result1334) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1338 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1337 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1337, - }) - } - _ => panic() - } - - let lifted1340 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1339 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1339, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1333, - allowed_suffixes: array1335, - min: lifted1338, - max: lifted1340, - }) - } - 31 => { - let array1364 : Array[@types.UnionBranch] = [] - for index1365 = 0 - index1365 < mbt_ffi_load32(iter_base + 12) - index1365 = index1365 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1365 * 92 - - let result1341 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1350 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1342 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1342) - } - 1 => { - let result1343 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1343) - } - 2 => { - let result1344 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1344) - } - 3 => { - let result1345 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1345) - } - 4 => { - let result1346 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1348 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1347 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + SpanData::LocalSpan(LocalSpanData::{span_id : result1457, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted1459, linked_context : lifted1460, attributes : array1464, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { - Option::Some(result1347) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1346, - literal: lifted1348, - }) - } - 5 => { - let result1349 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1349) - } - _ => panic() - } + let result1466 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let lifted1352 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1351 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1351) - } - _ => panic() - } + SpanData::ExternalSpan(ExternalSpanData::{span_id : result1466}) + } + _ => panic() + } - let array1354 : Array[String] = [] - for index1355 = 0 - index1355 < mbt_ffi_load32(iter_base + 52) - index1355 = index1355 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1355 * 8 + array1468.push(lifted1467) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) - let result1353 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1470.push(array1468) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 104)) - array1354.push(result1353) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{idempotency_key : result1217, method_name : result1218, function_input : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1415, defs : array1420, root : mbt_ffi_load32((iter_base) + 72)}, value : @types.SchemaValueTree::{value_nodes : array1451, root : mbt_ffi_load32((iter_base) + 84)}}, trace_id : result1453, trace_states : array1455, invocation_context : array1470}) + } + 2 => { - let array1357 : Array[String] = [] - for index1358 = 0 - index1358 < mbt_ffi_load32(iter_base + 60) - index1358 = index1358 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1358 * 8 + AgentInvocation::SaveSnapshot + } + 3 => { - let result1356 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1472 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - array1357.push(result1356) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1360 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1359 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1359) - } - _ => panic() - } + let result1473 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - let lifted1363 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1362 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1361 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{snapshot : SnapshotData::{data : result1472, mime_type : result1473}}) + } + 4 => { - @types.Role::Other(result1361) - } - _ => panic() - } + let result1474 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(lifted1362) - } - _ => panic() - } + AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{idempotency_key : result1474}) + } + 5 => { - array1364.push(@types.UnionBranch::{ - tag: result1341, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1350, - metadata: @types.MetadataEnvelope::{ - doc: lifted1352, - aliases: array1354, - examples: array1357, - deprecated: lifted1360, - role: lifted1363, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1364, - }) - } - 32 => { - let lifted1367 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1366 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1366) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1367, - }) - } - 33 => { - let lifted1369 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1368 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1368) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1369, - }) - } - 34 => { - let lifted1370 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1370) - } - 35 => { - let lifted1371 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1371) - } - _ => panic() - } + AgentInvocation::ManualUpdate(ManualUpdateParameters::{target_revision : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}) + } + _ => panic() + } - let lifted1374 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1373 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1373) - } - _ => panic() - } + PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, invocation : lifted1475}) + } + 5 => { - let array1376 : Array[String] = [] - for index1377 = 0 - index1377 < mbt_ffi_load32(iter_base + 104) - index1377 = index1377 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1377 * 8 + let lifted1950 = match (mbt_ffi_load8_u((iter_base) + 32)) { + 0 => { - let result1375 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1672 : Array[@types.SchemaTypeNode] = []; + for index1673 = 0; index1673 < (mbt_ffi_load32((iter_base) + 40)); index1673 = index1673 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1673 * 144) - array1376.push(result1375) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let lifted1658 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let array1379 : Array[String] = [] - for index1380 = 0 - index1380 < mbt_ffi_load32(iter_base + 112) - index1380 = index1380 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1380 * 8 + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { - let result1378 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::BoolType + } + 2 => { - array1379.push(result1378) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1382 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1381 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1381) - } - _ => panic() - } + let lifted1482 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted1385 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1384 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1383 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1383) - } - _ => panic() - } + let lifted1477 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1384) - } - _ => panic() - } + let lifted1476 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - array1386.push(@types.SchemaTypeNode::{ - body: lifted1372, - metadata: @types.MetadataEnvelope::{ - doc: lifted1374, - aliases: array1376, - examples: array1379, - deprecated: lifted1382, - role: lifted1385, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array1391 : Array[@types.SchemaTypeDef] = [] - for index1392 = 0 - index1392 < mbt_ffi_load32(iter_base + 48) - index1392 = index1392 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + - index1392 * 24 - - let result1388 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1390 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1389 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1389) - } - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - array1391.push(@types.SchemaTypeDef::{ - id: result1388, - name: lifted1390, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array1422 : Array[@types.SchemaValueNode] = [] - for index1423 = 0 - index1423 < mbt_ffi_load32(iter_base + 60) - index1423 = index1423 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1423 * 32 - - let lifted1421 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1393 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1393) - } - 13 => { - let array1394 : Array[Int] = [] - for index1395 = 0 - index1395 < mbt_ffi_load32(iter_base + 12) - index1395 = index1395 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1395 * 4 - - array1394.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1394) - } - 14 => { - let lifted1396 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1396, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1397 : Array[Bool] = [] - for index1398 = 0 - index1398 < mbt_ffi_load32(iter_base + 12) - index1398 = index1398 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1398 * 1 - - array1397.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1397) - } - 17 => { - let array1399 : Array[Int] = [] - for index1400 = 0 - index1400 < mbt_ffi_load32(iter_base + 12) - index1400 = index1400 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1400 * 4 - - array1399.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1399) - } - 18 => { - let array1401 : Array[Int] = [] - for index1402 = 0 - index1402 < mbt_ffi_load32(iter_base + 12) - index1402 = index1402 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1402 * 4 - - array1401.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1401) - } - 19 => { - let array1403 : Array[Int] = [] - for index1404 = 0 - index1404 < mbt_ffi_load32(iter_base + 12) - index1404 = index1404 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1404 * 4 - - array1403.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1403) - } - 20 => { - let array1405 : Array[@types.MapEntry] = [] - for index1406 = 0 - index1406 < mbt_ffi_load32(iter_base + 12) - index1406 = index1406 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1406 * 8 - - array1405.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1405) - } - 21 => { - let lifted1407 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1407) - } - 22 => { - let lifted1410 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1408 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1408) - } - 1 => { - let lifted1409 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1409) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1410) - } - 23 => { - let result1411 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1413 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1412 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1412) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1411, - language: lifted1413, - }) - } - 24 => { - let result1414 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1416 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1415 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1415) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1414, - mime_type: lifted1416, - }) - } - 25 => { - let result1417 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1417) - } - 26 => { - let result1418 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1418) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1419 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1419, - }) - } - 30 => { - let result1420 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1420, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - array1422.push(lifted1421) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1386, - defs: array1391, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1422, - root: mbt_ffi_load32(iter_base + 64), - }, - }) - } - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - PublicOplogEntry::Cancelled(CancelledParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - partial: lifted1424, - }) - } - 4 => { - let lifted1937 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => { - let result1425 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let array1622 : Array[@types.SchemaTypeNode] = [] - for index1623 = 0 - index1623 < mbt_ffi_load32(iter_base + 44) - index1623 = index1623 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 40) + - index1623 * 144 - - let lifted1608 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1432 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1427 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1426 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1476) + } + _ => panic() + } - Option::Some(lifted1426) - } - _ => panic() - } - - let lifted1429 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1428 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1479 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - Option::Some(lifted1428) - } - _ => panic() - } - - let lifted1431 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1430 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1430) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1427, - max: lifted1429, - unit: lifted1431, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1432) - } - 3 => { - let lifted1439 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1434 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1433 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1478 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - Option::Some(lifted1433) - } - _ => panic() - } - - let lifted1436 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1435 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - Option::Some(lifted1435) - } - _ => panic() - } - - let lifted1438 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1437 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1437) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1434, - max: lifted1436, - unit: lifted1438, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1439) - } - 4 => { - let lifted1446 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1441 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1440 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - Option::Some(lifted1440) - } - _ => panic() - } - - let lifted1443 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1442 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - Option::Some(lifted1442) - } - _ => panic() - } - - let lifted1445 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1444 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1444) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1441, - max: lifted1443, - unit: lifted1445, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1446) - } - 5 => { - let lifted1453 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1448 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1447 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1478) + } + _ => panic() + } - Option::Some(lifted1447) - } - _ => panic() - } - - let lifted1450 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1449 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1481 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - Option::Some(lifted1449) - } - _ => panic() - } - - let lifted1452 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1451 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1451) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1448, - max: lifted1450, - unit: lifted1452, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1453) - } - 6 => { - let lifted1460 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1455 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1454 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1480 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - Option::Some(lifted1454) - } - _ => panic() - } - - let lifted1457 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1456 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1480) + } + _ => panic() + } - Option::Some(lifted1456) - } - _ => panic() - } - - let lifted1459 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1458 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1458) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1455, - max: lifted1457, - unit: lifted1459, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1460) - } - 7 => { - let lifted1467 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1462 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1461 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(@types.NumericRestrictions::{min : lifted1477, max : lifted1479, unit : lifted1481}) + } + _ => panic() + } - Option::Some(lifted1461) - } - _ => panic() - } - - let lifted1464 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1463 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::S8Type(lifted1482) + } + 3 => { - Option::Some(lifted1463) - } - _ => panic() - } - - let lifted1466 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1465 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1465) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1462, - max: lifted1464, - unit: lifted1466, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1467) - } - 8 => { - let lifted1474 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1469 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1468 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1489 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1468) - } - _ => panic() - } - - let lifted1471 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1470 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1484 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1470) - } - _ => panic() - } - - let lifted1473 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1472 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1472) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1469, - max: lifted1471, - unit: lifted1473, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1474) - } - 9 => { - let lifted1481 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1476 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1475 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1483 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - Option::Some(lifted1475) - } - _ => panic() - } - - let lifted1478 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1477 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - Option::Some(lifted1477) - } - _ => panic() - } - - let lifted1480 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1479 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1479) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1476, - max: lifted1478, - unit: lifted1480, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1481) - } - 10 => { - let lifted1488 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1483 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1482 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1483) + } + _ => panic() + } + + let lifted1486 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1485 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1485) + } + _ => panic() + } + + let lifted1488 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1487 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1487) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1484, max : lifted1486, unit : lifted1488}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1489) + } + 4 => { + + let lifted1496 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1491 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1490 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1490) + } + _ => panic() + } + + let lifted1493 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1492 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1492) + } + _ => panic() + } + + let lifted1495 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1494 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1494) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1491, max : lifted1493, unit : lifted1495}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1496) + } + 5 => { + + let lifted1503 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1498 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1497 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1497) + } + _ => panic() + } + + let lifted1500 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1499 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1499) + } + _ => panic() + } + + let lifted1502 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1501 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1501) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1498, max : lifted1500, unit : lifted1502}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1503) + } + 6 => { + + let lifted1510 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1505 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1504 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1504) + } + _ => panic() + } + + let lifted1507 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1506 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1506) + } + _ => panic() + } + + let lifted1509 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1508 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1508) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1505, max : lifted1507, unit : lifted1509}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1510) + } + 7 => { + + let lifted1517 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1512 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1511 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1511) + } + _ => panic() + } + + let lifted1514 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1513 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1513) + } + _ => panic() + } + + let lifted1516 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1515 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1515) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1512, max : lifted1514, unit : lifted1516}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1517) + } + 8 => { + + let lifted1524 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1519 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1518 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1518) + } + _ => panic() + } + + let lifted1521 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1520 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1520) + } + _ => panic() + } + + let lifted1523 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1522 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1522) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1519, max : lifted1521, unit : lifted1523}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1524) + } + 9 => { + + let lifted1531 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1526 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1525 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1525) + } + _ => panic() + } + + let lifted1528 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1527 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1527) + } + _ => panic() + } + + let lifted1530 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1529 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1529) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1526, max : lifted1528, unit : lifted1530}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1531) + } + 10 => { + + let lifted1538 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1533 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1532 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1532) + } + _ => panic() + } + + let lifted1535 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1534 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1534) + } + _ => panic() + } + + let lifted1537 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1536 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1536) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1533, max : lifted1535, unit : lifted1537}) + } + _ => panic() + } - Option::Some(lifted1482) - } - _ => panic() - } - - let lifted1485 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1484 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::F32Type(lifted1538) + } + 11 => { - Option::Some(lifted1484) - } - _ => panic() - } - - let lifted1487 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1486 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1486) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1483, - max: lifted1485, - unit: lifted1487, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1488) - } - 11 => { - let lifted1495 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1490 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1489 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1545 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1489) - } - _ => panic() - } - - let lifted1492 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1491 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1540 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1491) - } - _ => panic() - } - - let lifted1494 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1493 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1493) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1490, - max: lifted1492, - unit: lifted1494, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1495) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1510 : Array[@types.NamedFieldType] = [] - for index1511 = 0 - index1511 < mbt_ffi_load32(iter_base + 12) - index1511 = index1511 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1511 * 68 - - let result1496 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1498 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1497 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1497) - } - _ => panic() - } + let lifted1539 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - let array1500 : Array[String] = [] - for index1501 = 0 - index1501 < mbt_ffi_load32(iter_base + 28) - index1501 = index1501 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1501 * 8 + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - let result1499 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - array1500.push(result1499) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - let array1503 : Array[String] = [] - for index1504 = 0 - index1504 < mbt_ffi_load32(iter_base + 36) - index1504 = index1504 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1504 * 8 + Option::Some(lifted1539) + } + _ => panic() + } - let result1502 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1542 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - array1503.push(result1502) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1506 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1505 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1505) - } - _ => panic() - } + let lifted1541 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - let lifted1509 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1508 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1507 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - @types.Role::Other(result1507) - } - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - Option::Some(lifted1508) - } - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - array1510.push(@types.NamedFieldType::{ - name: result1496, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1498, - aliases: array1500, - examples: array1503, - deprecated: lifted1506, - role: lifted1509, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1510) - } - 15 => { - let array1527 : Array[@types.VariantCaseType] = [] - for index1528 = 0 - index1528 < mbt_ffi_load32(iter_base + 12) - index1528 = index1528 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1528 * 72 - - let result1512 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1513 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + Option::Some(lifted1541) + } + _ => panic() + } - let lifted1515 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1514 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1514) - } - _ => panic() - } + let lifted1544 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let array1517 : Array[String] = [] - for index1518 = 0 - index1518 < mbt_ffi_load32(iter_base + 32) - index1518 = index1518 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1518 * 8 + let result1543 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - let result1516 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result1543) + } + _ => panic() + } - array1517.push(result1516) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + Option::Some(@types.NumericRestrictions::{min : lifted1540, max : lifted1542, unit : lifted1544}) + } + _ => panic() + } - let array1520 : Array[String] = [] - for index1521 = 0 - index1521 < mbt_ffi_load32(iter_base + 40) - index1521 = index1521 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1521 * 8 + @types.SchemaTypeBody::F64Type(lifted1545) + } + 12 => { - let result1519 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::CharType + } + 13 => { - array1520.push(result1519) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1523 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1522 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1522) - } - _ => panic() - } + @types.SchemaTypeBody::StringType + } + 14 => { - let lifted1526 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1525 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1524 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let array1560 : Array[@types.NamedFieldType] = []; + for index1561 = 0; index1561 < (mbt_ffi_load32((iter_base) + 12)); index1561 = index1561 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1561 * 68) - @types.Role::Other(result1524) - } - _ => panic() - } + let result1546 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1525) - } - _ => panic() - } + let lifted1548 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - array1527.push(@types.VariantCaseType::{ - name: result1512, - payload: lifted1513, - metadata: @types.MetadataEnvelope::{ - doc: lifted1515, - aliases: array1517, - examples: array1520, - deprecated: lifted1523, - role: lifted1526, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1527) - } - 16 => { - let array1530 : Array[String] = [] - for index1531 = 0 - index1531 < mbt_ffi_load32(iter_base + 12) - index1531 = index1531 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1531 * 8 - - let result1529 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1530.push(result1529) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1530) - } - 17 => { - let array1533 : Array[String] = [] - for index1534 = 0 - index1534 < mbt_ffi_load32(iter_base + 12) - index1534 = index1534 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1534 * 8 - - let result1532 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1533.push(result1532) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1533) - } - 18 => { - let array1535 : Array[Int] = [] - for index1536 = 0 - index1536 < mbt_ffi_load32(iter_base + 12) - index1536 = index1536 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1536 * 4 - - array1535.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1535) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1537 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1538 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1537, - err: lifted1538, - }) - } - 24 => { - let lifted1542 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1540 : Array[String] = [] - for index1541 = 0 - index1541 < mbt_ffi_load32(iter_base + 16) - index1541 = index1541 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1541 * 8 - - let result1539 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1540.push(result1539) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1540) - } - _ => panic() - } - - let lifted1543 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1544 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1546 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1545 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1545) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1542, - min_length: lifted1543, - max_length: lifted1544, - regex: lifted1546, - }) - } - 25 => { - let lifted1550 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1548 : Array[String] = [] - for index1549 = 0 - index1549 < mbt_ffi_load32(iter_base + 16) - index1549 = index1549 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1549 * 8 - - let result1547 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1548.push(result1547) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1548) - } - _ => panic() - } - - let lifted1551 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1552 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1550, - min_bytes: lifted1551, - max_bytes: lifted1552, - }) - } - 26 => { - let lifted1556 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1554 : Array[String] = [] - for index1555 = 0 - index1555 < mbt_ffi_load32(iter_base + 20) - index1555 = index1555 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1555 * 8 - - let result1553 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1554.push(result1553) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1554) - } - _ => panic() - } - - let lifted1560 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1558 : Array[String] = [] - for index1559 = 0 - index1559 < mbt_ffi_load32(iter_base + 32) - index1559 = index1559 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1559 * 8 - - let result1557 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1558.push(result1557) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1558) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1556, - allowed_extensions: lifted1560, - }) - } - 27 => { - let lifted1564 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1562 : Array[String] = [] - for index1563 = 0 - index1563 < mbt_ffi_load32(iter_base + 16) - index1563 = index1563 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1563 * 8 - - let result1561 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1562.push(result1561) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1562) - } - _ => panic() - } - - let lifted1568 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1566 : Array[String] = [] - for index1567 = 0 - index1567 < mbt_ffi_load32(iter_base + 28) - index1567 = index1567 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1567 * 8 - - let result1565 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1566.push(result1565) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1566) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1564, - allowed_hosts: lifted1568, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1571 : Array[String] = [] - for index1572 = 0 - index1572 < mbt_ffi_load32(iter_base + 20) - index1572 = index1572 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1572 * 8 - - let result1570 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1571.push(result1570) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1574 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1573 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1573, - }) - } - _ => panic() - } - - let lifted1576 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1575 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1575, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1569, - allowed_suffixes: array1571, - min: lifted1574, - max: lifted1576, - }) - } - 31 => { - let array1600 : Array[@types.UnionBranch] = [] - for index1601 = 0 - index1601 < mbt_ffi_load32(iter_base + 12) - index1601 = index1601 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1601 * 92 - - let result1577 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1586 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1578 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1578) - } - 1 => { - let result1579 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1579) - } - 2 => { - let result1580 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1580) - } - 3 => { - let result1581 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1581) - } - 4 => { - let result1582 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1584 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1583 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result1547 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(result1583) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1582, - literal: lifted1584, - }) - } - 5 => { - let result1585 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1585) - } - _ => panic() - } + Option::Some(result1547) + } + _ => panic() + } - let lifted1588 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1587 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1587) - } - _ => panic() - } + let array1550 : Array[String] = []; + for index1551 = 0; index1551 < (mbt_ffi_load32((iter_base) + 28)); index1551 = index1551 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1551 * 8) - let array1590 : Array[String] = [] - for index1591 = 0 - index1591 < mbt_ffi_load32(iter_base + 52) - index1591 = index1591 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1591 * 8 + let result1549 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1550.push(result1549) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - array1590.push(result1589) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let array1553 : Array[String] = []; + for index1554 = 0; index1554 < (mbt_ffi_load32((iter_base) + 36)); index1554 = index1554 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1554 * 8) - let array1593 : Array[String] = [] - for index1594 = 0 - index1594 < mbt_ffi_load32(iter_base + 60) - index1594 = index1594 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1594 * 8 + let result1552 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1592 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1553.push(result1552) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) - array1593.push(result1592) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1596 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1595 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1595) - } - _ => panic() - } + let lifted1556 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - let lifted1599 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1598 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1597 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let result1555 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - @types.Role::Other(result1597) - } - _ => panic() - } + Option::Some(result1555) + } + _ => panic() + } - Option::Some(lifted1598) - } - _ => panic() - } + let lifted1559 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { - array1600.push(@types.UnionBranch::{ - tag: result1577, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1586, - metadata: @types.MetadataEnvelope::{ - doc: lifted1588, - aliases: array1590, - examples: array1593, - deprecated: lifted1596, - role: lifted1599, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1600, - }) - } - 32 => { - let lifted1603 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1602 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1602) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1603, - }) - } - 33 => { - let lifted1605 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1604 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1604) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1605, - }) - } - 34 => { - let lifted1606 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1606) - } - 35 => { - let lifted1607 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1607) - } - _ => panic() - } + let lifted1558 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { - let lifted1610 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1609 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1609) - } - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - let array1612 : Array[String] = [] - for index1613 = 0 - index1613 < mbt_ffi_load32(iter_base + 104) - index1613 = index1613 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1613 * 8 + @types.Role::UnstructuredText + } + 2 => { - let result1611 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.Role::UnstructuredBinary + } + 3 => { - array1612.push(result1611) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let result1557 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) - let array1615 : Array[String] = [] - for index1616 = 0 - index1616 < mbt_ffi_load32(iter_base + 112) - index1616 = index1616 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1616 * 8 + @types.Role::Other(result1557) + } + _ => panic() + } - let result1614 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(lifted1558) + } + _ => panic() + } - array1615.push(result1614) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1618 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1617 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1617) - } - _ => panic() - } + array1560.push(@types.NamedFieldType::{name : result1546, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1548, aliases : array1550, examples : array1553, deprecated : lifted1556, role : lifted1559}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let lifted1621 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1620 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1619 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1619) - } - _ => panic() - } + @types.SchemaTypeBody::RecordType(array1560) + } + 15 => { - Option::Some(lifted1620) - } - _ => panic() - } + let array1577 : Array[@types.VariantCaseType] = []; + for index1578 = 0; index1578 < (mbt_ffi_load32((iter_base) + 12)); index1578 = index1578 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1578 * 72) - array1622.push(@types.SchemaTypeNode::{ - body: lifted1608, - metadata: @types.MetadataEnvelope::{ - doc: lifted1610, - aliases: array1612, - examples: array1615, - deprecated: lifted1618, - role: lifted1621, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 40)) - - let array1627 : Array[@types.SchemaTypeDef] = [] - for index1628 = 0 - index1628 < mbt_ffi_load32(iter_base + 52) - index1628 = index1628 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1628 * 24 - - let result1624 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1626 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1625 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1625) - } - _ => panic() - } + let result1562 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array1627.push(@types.SchemaTypeDef::{ - id: result1624, - name: lifted1626, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array1658 : Array[@types.SchemaValueNode] = [] - for index1659 = 0 - index1659 < mbt_ffi_load32(iter_base + 64) - index1659 = index1659 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + - index1659 * 32 - - let lifted1657 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1629 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1629) - } - 13 => { - let array1630 : Array[Int] = [] - for index1631 = 0 - index1631 < mbt_ffi_load32(iter_base + 12) - index1631 = index1631 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1631 * 4 - - array1630.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1630) - } - 14 => { - let lifted1632 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1632, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1633 : Array[Bool] = [] - for index1634 = 0 - index1634 < mbt_ffi_load32(iter_base + 12) - index1634 = index1634 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1634 * 1 - - array1633.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1633) - } - 17 => { - let array1635 : Array[Int] = [] - for index1636 = 0 - index1636 < mbt_ffi_load32(iter_base + 12) - index1636 = index1636 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1636 * 4 - - array1635.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1635) - } - 18 => { - let array1637 : Array[Int] = [] - for index1638 = 0 - index1638 < mbt_ffi_load32(iter_base + 12) - index1638 = index1638 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1638 * 4 - - array1637.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1637) - } - 19 => { - let array1639 : Array[Int] = [] - for index1640 = 0 - index1640 < mbt_ffi_load32(iter_base + 12) - index1640 = index1640 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1640 * 4 - - array1639.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1639) - } - 20 => { - let array1641 : Array[@types.MapEntry] = [] - for index1642 = 0 - index1642 < mbt_ffi_load32(iter_base + 12) - index1642 = index1642 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1642 * 8 - - array1641.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1641) - } - 21 => { - let lifted1643 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1643) - } - 22 => { - let lifted1646 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1644 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1644) - } - 1 => { - let lifted1645 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1645) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1646) - } - 23 => { - let result1647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1649 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1648 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1648) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1647, - language: lifted1649, - }) - } - 24 => { - let result1650 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1652 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1651 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1651) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1650, - mime_type: lifted1652, - }) - } - 25 => { - let result1653 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1653) - } - 26 => { - let result1654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1654) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1655 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1655, - }) - } - 30 => { - let result1656 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1656, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let lifted1563 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - array1658.push(lifted1657) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - let result1660 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 72), - mbt_ffi_load32(iter_base + 76), - ) - - let array1662 : Array[String] = [] - for index1663 = 0 - index1663 < mbt_ffi_load32(iter_base + 84) - index1663 = index1663 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 80) + index1663 * 8 - - let result1661 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1662.push(result1661) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 80)) - - let array1677 : Array[Array[SpanData]] = [] - for index1678 = 0 - index1678 < mbt_ffi_load32(iter_base + 92) - index1678 = index1678 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index1678 * 8 - - let array1675 : Array[SpanData] = [] - for index1676 = 0 - index1676 < mbt_ffi_load32(iter_base + 4) - index1676 = index1676 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index1676 * 80 - - let lifted1674 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result1664 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1666 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result1665 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result1665) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let lifted1667 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1565 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let array1671 : Array[@context.Attribute] = [] - for index1672 = 0 - index1672 < mbt_ffi_load32(iter_base + 68) - index1672 = index1672 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index1672 * 20 - - let result1668 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1670 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result1669 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result1669) - } - _ => panic() - } - - array1671.push(@context.Attribute::{ - key: result1668, - value: lifted1670, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result1664, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted1666, - linked_context: lifted1667, - attributes: array1671, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result1673 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result1673, - }) - } - _ => panic() - } - - array1675.push(lifted1674) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array1677.push(array1675) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - AgentInvocation::AgentInitialization(AgentInitializationParameters::{ - idempotency_key: result1425, - constructor_parameters: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1622, - defs: array1627, - root: mbt_ffi_load32(iter_base + 56), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1658, - root: mbt_ffi_load32(iter_base + 68), - }, - }, - trace_id: result1660, - trace_states: array1662, - invocation_context: array1677, - }) - } - 1 => { - let result1679 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result1680 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array1877 : Array[@types.SchemaTypeNode] = [] - for index1878 = 0 - index1878 < mbt_ffi_load32(iter_base + 52) - index1878 = index1878 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1878 * 144 - - let lifted1863 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1687 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1682 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1681 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1564 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted1681) - } - _ => panic() - } - - let lifted1684 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1683 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1564) + } + _ => panic() + } - Option::Some(lifted1683) - } - _ => panic() - } - - let lifted1686 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1685 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1685) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1682, - max: lifted1684, - unit: lifted1686, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1687) - } - 3 => { - let lifted1694 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1689 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1688 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1567 : Array[String] = []; + for index1568 = 0; index1568 < (mbt_ffi_load32((iter_base) + 32)); index1568 = index1568 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1568 * 8) - Option::Some(lifted1688) - } - _ => panic() - } - - let lifted1691 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1690 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1690) - } - _ => panic() - } - - let lifted1693 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1692 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1692) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1689, - max: lifted1691, - unit: lifted1693, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1694) - } - 4 => { - let lifted1701 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1696 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1695 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array1567.push(result1566) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted1695) - } - _ => panic() - } - - let lifted1698 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1697 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1570 : Array[String] = []; + for index1571 = 0; index1571 < (mbt_ffi_load32((iter_base) + 40)); index1571 = index1571 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1571 * 8) - Option::Some(lifted1697) - } - _ => panic() - } - - let lifted1700 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1699 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1699) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1696, - max: lifted1698, - unit: lifted1700, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1701) - } - 5 => { - let lifted1708 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1703 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1702 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1569 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1702) - } - _ => panic() - } - - let lifted1705 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1704 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1570.push(result1569) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - Option::Some(lifted1704) - } - _ => panic() - } - - let lifted1707 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1706 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1706) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1703, - max: lifted1705, - unit: lifted1707, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1708) - } - 6 => { - let lifted1715 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1710 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1709 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1573 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { - Option::Some(lifted1709) - } - _ => panic() - } - - let lifted1712 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1711 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1572 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - Option::Some(lifted1711) - } - _ => panic() - } - - let lifted1714 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1713 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1713) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1710, - max: lifted1712, - unit: lifted1714, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1715) - } - 7 => { - let lifted1722 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1717 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1716 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1572) + } + _ => panic() + } - Option::Some(lifted1716) - } - _ => panic() - } - - let lifted1719 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1718 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1576 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - Option::Some(lifted1718) - } - _ => panic() - } - - let lifted1721 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1720 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1720) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1717, - max: lifted1719, - unit: lifted1721, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1722) - } - 8 => { - let lifted1729 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1724 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1723 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1575 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { - Option::Some(lifted1723) - } - _ => panic() - } - - let lifted1726 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1725 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted1725) - } - _ => panic() - } - - let lifted1728 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1727 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1727) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1724, - max: lifted1726, - unit: lifted1728, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1729) - } - 9 => { - let lifted1736 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1731 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1730 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - Option::Some(lifted1730) - } - _ => panic() - } - - let lifted1733 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1732 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted1732) - } - _ => panic() - } - - let lifted1735 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1734 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1734) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1731, - max: lifted1733, - unit: lifted1735, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1736) - } - 10 => { - let lifted1743 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1738 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1737 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) - Option::Some(lifted1737) - } - _ => panic() - } - - let lifted1740 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1739 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Other(result1574) + } + _ => panic() + } - Option::Some(lifted1739) - } - _ => panic() - } - - let lifted1742 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1741 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1741) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1738, - max: lifted1740, - unit: lifted1742, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1743) - } - 11 => { - let lifted1750 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1745 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1744 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1575) + } + _ => panic() + } - Option::Some(lifted1744) - } - _ => panic() - } - - let lifted1747 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1746 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1577.push(@types.VariantCaseType::{name : result1562, payload : lifted1563, metadata : @types.MetadataEnvelope::{doc : lifted1565, aliases : array1567, examples : array1570, deprecated : lifted1573, role : lifted1576}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted1746) - } - _ => panic() - } - - let lifted1749 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1748 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1748) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1745, - max: lifted1747, - unit: lifted1749, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1750) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1765 : Array[@types.NamedFieldType] = [] - for index1766 = 0 - index1766 < mbt_ffi_load32(iter_base + 12) - index1766 = index1766 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1766 * 68 - - let result1751 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1753 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1752 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1752) - } - _ => panic() - } + @types.SchemaTypeBody::VariantType(array1577) + } + 16 => { - let array1755 : Array[String] = [] - for index1756 = 0 - index1756 < mbt_ffi_load32(iter_base + 28) - index1756 = index1756 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1756 * 8 + let array1580 : Array[String] = []; + for index1581 = 0; index1581 < (mbt_ffi_load32((iter_base) + 12)); index1581 = index1581 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1581 * 8) - let result1754 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1579 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array1755.push(result1754) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + array1580.push(result1579) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array1758 : Array[String] = [] - for index1759 = 0 - index1759 < mbt_ffi_load32(iter_base + 36) - index1759 = index1759 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1759 * 8 + @types.SchemaTypeBody::EnumType(array1580) + } + 17 => { - let result1757 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1583 : Array[String] = []; + for index1584 = 0; index1584 < (mbt_ffi_load32((iter_base) + 12)); index1584 = index1584 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1584 * 8) - array1758.push(result1757) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1761 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1760 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1760) - } - _ => panic() - } + let result1582 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted1764 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1763 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1762 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + array1583.push(result1582) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @types.Role::Other(result1762) - } - _ => panic() - } + @types.SchemaTypeBody::FlagsType(array1583) + } + 18 => { - Option::Some(lifted1763) - } - _ => panic() - } + let array1585 : Array[Int] = []; + for index1586 = 0; index1586 < (mbt_ffi_load32((iter_base) + 12)); index1586 = index1586 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1586 * 4) - array1765.push(@types.NamedFieldType::{ - name: result1751, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1753, - aliases: array1755, - examples: array1758, - deprecated: lifted1761, - role: lifted1764, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1765) - } - 15 => { - let array1782 : Array[@types.VariantCaseType] = [] - for index1783 = 0 - index1783 < mbt_ffi_load32(iter_base + 12) - index1783 = index1783 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1783 * 72 - - let result1767 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1768 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + array1585.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let lifted1770 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1769 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1769) - } - _ => panic() - } + @types.SchemaTypeBody::TupleType(array1585) + } + 19 => { - let array1772 : Array[String] = [] - for index1773 = 0 - index1773 < mbt_ffi_load32(iter_base + 32) - index1773 = index1773 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1773 * 8 + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { - let result1771 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { - array1772.push(result1771) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { - let array1775 : Array[String] = [] - for index1776 = 0 - index1776 < mbt_ffi_load32(iter_base + 40) - index1776 = index1776 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1776 * 8 + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { - let result1774 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1587 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - array1775.push(result1774) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1778 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1777 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1777) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let lifted1781 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1780 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1779 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let lifted1588 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - @types.Role::Other(result1779) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } - Option::Some(lifted1780) - } - _ => panic() - } + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1587, err : lifted1588}) + } + 24 => { - array1782.push(@types.VariantCaseType::{ - name: result1767, - payload: lifted1768, - metadata: @types.MetadataEnvelope::{ - doc: lifted1770, - aliases: array1772, - examples: array1775, - deprecated: lifted1778, - role: lifted1781, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1782) - } - 16 => { - let array1785 : Array[String] = [] - for index1786 = 0 - index1786 < mbt_ffi_load32(iter_base + 12) - index1786 = index1786 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1786 * 8 - - let result1784 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1785.push(result1784) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1785) - } - 17 => { - let array1788 : Array[String] = [] - for index1789 = 0 - index1789 < mbt_ffi_load32(iter_base + 12) - index1789 = index1789 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1789 * 8 - - let result1787 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1788.push(result1787) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1788) - } - 18 => { - let array1790 : Array[Int] = [] - for index1791 = 0 - index1791 < mbt_ffi_load32(iter_base + 12) - index1791 = index1791 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1791 * 4 - - array1790.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1790) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1792 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1793 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1792, - err: lifted1793, - }) - } - 24 => { - let lifted1797 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1795 : Array[String] = [] - for index1796 = 0 - index1796 < mbt_ffi_load32(iter_base + 16) - index1796 = index1796 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1796 * 8 - - let result1794 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1795.push(result1794) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1795) - } - _ => panic() - } - - let lifted1798 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1799 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1801 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1800 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1800) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1797, - min_length: lifted1798, - max_length: lifted1799, - regex: lifted1801, - }) - } - 25 => { - let lifted1805 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1803 : Array[String] = [] - for index1804 = 0 - index1804 < mbt_ffi_load32(iter_base + 16) - index1804 = index1804 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1804 * 8 - - let result1802 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1803.push(result1802) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1803) - } - _ => panic() - } - - let lifted1806 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1807 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1805, - min_bytes: lifted1806, - max_bytes: lifted1807, - }) - } - 26 => { - let lifted1811 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1809 : Array[String] = [] - for index1810 = 0 - index1810 < mbt_ffi_load32(iter_base + 20) - index1810 = index1810 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1810 * 8 - - let result1808 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1809.push(result1808) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1809) - } - _ => panic() - } - - let lifted1815 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1813 : Array[String] = [] - for index1814 = 0 - index1814 < mbt_ffi_load32(iter_base + 32) - index1814 = index1814 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1814 * 8 - - let result1812 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1813.push(result1812) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1813) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1811, - allowed_extensions: lifted1815, - }) - } - 27 => { - let lifted1819 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1817 : Array[String] = [] - for index1818 = 0 - index1818 < mbt_ffi_load32(iter_base + 16) - index1818 = index1818 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1818 * 8 - - let result1816 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1817.push(result1816) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1817) - } - _ => panic() - } - - let lifted1823 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1821 : Array[String] = [] - for index1822 = 0 - index1822 < mbt_ffi_load32(iter_base + 28) - index1822 = index1822 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1822 * 8 - - let result1820 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1821.push(result1820) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1821) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1819, - allowed_hosts: lifted1823, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1824 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1826 : Array[String] = [] - for index1827 = 0 - index1827 < mbt_ffi_load32(iter_base + 20) - index1827 = index1827 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1827 * 8 - - let result1825 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1826.push(result1825) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1829 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1828 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1828, - }) - } - _ => panic() - } - - let lifted1831 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1830 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1830, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1824, - allowed_suffixes: array1826, - min: lifted1829, - max: lifted1831, - }) - } - 31 => { - let array1855 : Array[@types.UnionBranch] = [] - for index1856 = 0 - index1856 < mbt_ffi_load32(iter_base + 12) - index1856 = index1856 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1856 * 92 - - let result1832 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1841 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1833 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1833) - } - 1 => { - let result1834 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1834) - } - 2 => { - let result1835 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1835) - } - 3 => { - let result1836 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1836) - } - 4 => { - let result1837 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1839 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1838 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let lifted1592 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(result1838) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1837, - literal: lifted1839, - }) - } - 5 => { - let result1840 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1840) - } - _ => panic() - } + let array1590 : Array[String] = []; + for index1591 = 0; index1591 < (mbt_ffi_load32((iter_base) + 16)); index1591 = index1591 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1591 * 8) - let lifted1843 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1842 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1842) - } - _ => panic() - } + let result1589 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let array1845 : Array[String] = [] - for index1846 = 0 - index1846 < mbt_ffi_load32(iter_base + 52) - index1846 = index1846 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1846 * 8 + array1590.push(result1589) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - let result1844 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(array1590) + } + _ => panic() + } - array1845.push(result1844) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let lifted1593 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - let array1848 : Array[String] = [] - for index1849 = 0 - index1849 < mbt_ffi_load32(iter_base + 60) - index1849 = index1849 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1849 * 8 + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - let result1847 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1594 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - array1848.push(result1847) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1851 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1850 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1850) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - let lifted1854 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1853 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1852 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let lifted1596 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - @types.Role::Other(result1852) - } - _ => panic() - } + let result1595 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(lifted1853) - } - _ => panic() - } + Option::Some(result1595) + } + _ => panic() + } - array1855.push(@types.UnionBranch::{ - tag: result1832, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1841, - metadata: @types.MetadataEnvelope::{ - doc: lifted1843, - aliases: array1845, - examples: array1848, - deprecated: lifted1851, - role: lifted1854, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1855, - }) - } - 32 => { - let lifted1858 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1857 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1857) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1858, - }) - } - 33 => { - let lifted1860 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1859 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1859) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1860, - }) - } - 34 => { - let lifted1861 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1861) - } - 35 => { - let lifted1862 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1862) - } - _ => panic() - } + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1592, min_length : lifted1593, max_length : lifted1594, regex : lifted1596}) + } + 25 => { - let lifted1865 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1864 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1864) - } - _ => panic() - } + let lifted1600 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array1867 : Array[String] = [] - for index1868 = 0 - index1868 < mbt_ffi_load32(iter_base + 104) - index1868 = index1868 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1868 * 8 + let array1598 : Array[String] = []; + for index1599 = 0; index1599 < (mbt_ffi_load32((iter_base) + 16)); index1599 = index1599 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1599 * 8) - let result1866 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1597 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array1867.push(result1866) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + array1598.push(result1597) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - let array1870 : Array[String] = [] - for index1871 = 0 - index1871 < mbt_ffi_load32(iter_base + 112) - index1871 = index1871 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1871 * 8 + Option::Some(array1598) + } + _ => panic() + } - let result1869 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1601 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - array1870.push(result1869) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1873 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1872 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1872) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - let lifted1876 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1875 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1874 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1874) - } - _ => panic() - } + let lifted1602 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - Option::Some(lifted1875) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - array1877.push(@types.SchemaTypeNode::{ - body: lifted1863, - metadata: @types.MetadataEnvelope::{ - doc: lifted1865, - aliases: array1867, - examples: array1870, - deprecated: lifted1873, - role: lifted1876, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array1882 : Array[@types.SchemaTypeDef] = [] - for index1883 = 0 - index1883 < mbt_ffi_load32(iter_base + 60) - index1883 = index1883 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1883 * 24 - - let result1879 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1881 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1880 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1880) - } - _ => panic() - } + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1600, min_bytes : lifted1601, max_bytes : lifted1602}) + } + 26 => { - array1882.push(@types.SchemaTypeDef::{ - id: result1879, - name: lifted1881, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array1913 : Array[@types.SchemaValueNode] = [] - for index1914 = 0 - index1914 < mbt_ffi_load32(iter_base + 72) - index1914 = index1914 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + - index1914 * 32 - - let lifted1912 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1884 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1884) - } - 13 => { - let array1885 : Array[Int] = [] - for index1886 = 0 - index1886 < mbt_ffi_load32(iter_base + 12) - index1886 = index1886 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1886 * 4 - - array1885.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1885) - } - 14 => { - let lifted1887 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1887, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1888 : Array[Bool] = [] - for index1889 = 0 - index1889 < mbt_ffi_load32(iter_base + 12) - index1889 = index1889 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1889 * 1 - - array1888.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1888) - } - 17 => { - let array1890 : Array[Int] = [] - for index1891 = 0 - index1891 < mbt_ffi_load32(iter_base + 12) - index1891 = index1891 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1891 * 4 - - array1890.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1890) - } - 18 => { - let array1892 : Array[Int] = [] - for index1893 = 0 - index1893 < mbt_ffi_load32(iter_base + 12) - index1893 = index1893 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1893 * 4 - - array1892.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1892) - } - 19 => { - let array1894 : Array[Int] = [] - for index1895 = 0 - index1895 < mbt_ffi_load32(iter_base + 12) - index1895 = index1895 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1895 * 4 - - array1894.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1894) - } - 20 => { - let array1896 : Array[@types.MapEntry] = [] - for index1897 = 0 - index1897 < mbt_ffi_load32(iter_base + 12) - index1897 = index1897 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1897 * 8 - - array1896.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1896) - } - 21 => { - let lifted1898 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1898) - } - 22 => { - let lifted1901 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1899 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1899) - } - 1 => { - let lifted1900 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1900) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1901) - } - 23 => { - let result1902 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1904 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1903 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1903) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1902, - language: lifted1904, - }) - } - 24 => { - let result1905 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1907 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1906 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1906) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1905, - mime_type: lifted1907, - }) - } - 25 => { - let result1908 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1908) - } - 26 => { - let result1909 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1909) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1910 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1910, - }) - } - 30 => { - let result1911 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1911, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let lifted1606 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - array1913.push(lifted1912) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - let result1915 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 80), - mbt_ffi_load32(iter_base + 84), - ) - - let array1917 : Array[String] = [] - for index1918 = 0 - index1918 < mbt_ffi_load32(iter_base + 92) - index1918 = index1918 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index1918 * 8 - - let result1916 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1917.push(result1916) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - let array1932 : Array[Array[SpanData]] = [] - for index1933 = 0 - index1933 < mbt_ffi_load32(iter_base + 100) - index1933 = index1933 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index1933 * 8 - - let array1930 : Array[SpanData] = [] - for index1931 = 0 - index1931 < mbt_ffi_load32(iter_base + 4) - index1931 = index1931 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index1931 * 80 - - let lifted1929 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result1919 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1921 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result1920 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result1920) - } - _ => panic() - } + let array1604 : Array[String] = []; + for index1605 = 0; index1605 < (mbt_ffi_load32((iter_base) + 20)); index1605 = index1605 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1605 * 8) - let lifted1922 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1603 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let array1926 : Array[@context.Attribute] = [] - for index1927 = 0 - index1927 < mbt_ffi_load32(iter_base + 68) - index1927 = index1927 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index1927 * 20 - - let result1923 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1925 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result1924 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result1924) - } - _ => panic() - } - - array1926.push(@context.Attribute::{ - key: result1923, - value: lifted1925, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result1919, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted1921, - linked_context: lifted1922, - attributes: array1926, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result1928 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result1928, - }) - } - _ => panic() - } - - array1930.push(lifted1929) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array1932.push(array1930) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{ - idempotency_key: result1679, - method_name: result1680, - function_input: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1877, - defs: array1882, - root: mbt_ffi_load32(iter_base + 64), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1913, - root: mbt_ffi_load32(iter_base + 76), - }, - }, - trace_id: result1915, - trace_states: array1917, - invocation_context: array1932, - }) - } - 2 => AgentInvocation::SaveSnapshot - 3 => { - let result1934 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result1935 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{ - snapshot: SnapshotData::{ - data: result1934, - mime_type: result1935, - }, - }) - } - 4 => { - let result1936 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{ - idempotency_key: result1936, - }) - } - 5 => - AgentInvocation::ManualUpdate(ManualUpdateParameters::{ - target_revision: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - _ => panic() - } + array1604.push(result1603) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - invocation: lifted1937, - }) - } - 5 => { - let lifted2412 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => { - let array2134 : Array[@types.SchemaTypeNode] = [] - for index2135 = 0 - index2135 < mbt_ffi_load32(iter_base + 32) - index2135 = index2135 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2135 * 144 - - let lifted2120 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1944 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1939 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1938 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array1604) + } + _ => panic() + } - Option::Some(lifted1938) - } - _ => panic() - } - - let lifted1941 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1940 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1610 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - Option::Some(lifted1940) - } - _ => panic() - } - - let lifted1943 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1942 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1942) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1939, - max: lifted1941, - unit: lifted1943, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1944) - } - 3 => { - let lifted1951 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1946 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1945 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1608 : Array[String] = []; + for index1609 = 0; index1609 < (mbt_ffi_load32((iter_base) + 32)); index1609 = index1609 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1609 * 8) - Option::Some(lifted1945) - } - _ => panic() - } - - let lifted1948 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1947 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1607 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1947) - } - _ => panic() - } - - let lifted1950 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1949 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1949) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1946, - max: lifted1948, - unit: lifted1950, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1951) - } - 4 => { - let lifted1958 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1953 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1952 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array1608.push(result1607) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted1952) - } - _ => panic() - } - - let lifted1955 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1954 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array1608) + } + _ => panic() + } - Option::Some(lifted1954) - } - _ => panic() - } - - let lifted1957 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1956 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1956) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1953, - max: lifted1955, - unit: lifted1957, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1958) - } - 5 => { - let lifted1965 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1960 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1959 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1606, allowed_extensions : lifted1610}) + } + 27 => { - Option::Some(lifted1959) - } - _ => panic() - } - - let lifted1962 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1961 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1614 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1961) - } - _ => panic() - } - - let lifted1964 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1963 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1963) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1960, - max: lifted1962, - unit: lifted1964, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1965) - } - 6 => { - let lifted1972 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1967 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1966 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1612 : Array[String] = []; + for index1613 = 0; index1613 < (mbt_ffi_load32((iter_base) + 16)); index1613 = index1613 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1613 * 8) - Option::Some(lifted1966) - } - _ => panic() - } - - let lifted1969 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1968 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1611 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1968) - } - _ => panic() - } - - let lifted1971 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1970 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1970) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1967, - max: lifted1969, - unit: lifted1971, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1972) - } - 7 => { - let lifted1979 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1974 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1973 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array1612.push(result1611) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1973) - } - _ => panic() - } - - let lifted1976 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1975 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array1612) + } + _ => panic() + } - Option::Some(lifted1975) - } - _ => panic() - } - - let lifted1978 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1977 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1977) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1974, - max: lifted1976, - unit: lifted1978, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1979) - } - 8 => { - let lifted1986 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1981 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1980 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1618 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(lifted1980) - } - _ => panic() - } - - let lifted1983 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1982 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1616 : Array[String] = []; + for index1617 = 0; index1617 < (mbt_ffi_load32((iter_base) + 28)); index1617 = index1617 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1617 * 8) - Option::Some(lifted1982) - } - _ => panic() - } - - let lifted1985 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1984 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1984) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1981, - max: lifted1983, - unit: lifted1985, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1986) - } - 9 => { - let lifted1993 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1988 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1987 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1615 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1987) - } - _ => panic() - } - - let lifted1990 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1989 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1616.push(result1615) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted1989) - } - _ => panic() - } - - let lifted1992 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1991 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1991) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1988, - max: lifted1990, - unit: lifted1992, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1993) - } - 10 => { - let lifted2000 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1995 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1994 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array1616) + } + _ => panic() + } - Option::Some(lifted1994) - } - _ => panic() - } - - let lifted1997 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1996 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1614, allowed_hosts : lifted1618}) + } + 28 => { - Option::Some(lifted1996) - } - _ => panic() - } - - let lifted1999 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1998 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1998) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1995, - max: lifted1997, - unit: lifted1999, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2000) - } - 11 => { - let lifted2007 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2002 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2001 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::DatetimeType + } + 29 => { - Option::Some(lifted2001) - } - _ => panic() - } - - let lifted2004 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2003 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::DurationType + } + 30 => { - Option::Some(lifted2003) - } - _ => panic() - } - - let lifted2006 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2005 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2005) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2002, - max: lifted2004, - unit: lifted2006, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2007) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2022 : Array[@types.NamedFieldType] = [] - for index2023 = 0 - index2023 < mbt_ffi_load32(iter_base + 12) - index2023 = index2023 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2023 * 68 - - let result2008 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2010 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2009 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2009) - } - _ => panic() - } + let result1619 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let array2012 : Array[String] = [] - for index2013 = 0 - index2013 < mbt_ffi_load32(iter_base + 28) - index2013 = index2013 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2013 * 8 + let array1621 : Array[String] = []; + for index1622 = 0; index1622 < (mbt_ffi_load32((iter_base) + 20)); index1622 = index1622 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1622 * 8) - let result2011 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1620 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array2012.push(result2011) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + array1621.push(result1620) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - let array2015 : Array[String] = [] - for index2016 = 0 - index2016 < mbt_ffi_load32(iter_base + 36) - index2016 = index2016 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2016 * 8 + let lifted1624 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - let result2014 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1623 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - array2015.push(result2014) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2018 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2017 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2017) - } - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1623}) + } + _ => panic() + } - let lifted2021 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2020 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2019 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let lifted1626 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - @types.Role::Other(result2019) - } - _ => panic() - } + let result1625 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) - Option::Some(lifted2020) - } - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1625}) + } + _ => panic() + } - array2022.push(@types.NamedFieldType::{ - name: result2008, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2010, - aliases: array2012, - examples: array2015, - deprecated: lifted2018, - role: lifted2021, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2022) - } - 15 => { - let array2039 : Array[@types.VariantCaseType] = [] - for index2040 = 0 - index2040 < mbt_ffi_load32(iter_base + 12) - index2040 = index2040 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2040 * 72 - - let result2024 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2025 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1619, allowed_suffixes : array1621, min : lifted1624, max : lifted1626}) + } + 31 => { - let lifted2027 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2026 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2026) - } - _ => panic() - } + let array1650 : Array[@types.UnionBranch] = []; + for index1651 = 0; index1651 < (mbt_ffi_load32((iter_base) + 12)); index1651 = index1651 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1651 * 92) - let array2029 : Array[String] = [] - for index2030 = 0 - index2030 < mbt_ffi_load32(iter_base + 32) - index2030 = index2030 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2030 * 8 + let result1627 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result2028 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1636 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { - array2029.push(result2028) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let result1628 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let array2032 : Array[String] = [] - for index2033 = 0 - index2033 < mbt_ffi_load32(iter_base + 40) - index2033 = index2033 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2033 * 8 + @types.DiscriminatorRule::Prefix(result1628) + } + 1 => { - let result2031 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1629 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array2032.push(result2031) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2035 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2034 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2034) - } - _ => panic() - } + @types.DiscriminatorRule::Suffix(result1629) + } + 2 => { - let lifted2038 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2037 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2036 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result1630 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - @types.Role::Other(result2036) - } - _ => panic() - } + @types.DiscriminatorRule::Contains(result1630) + } + 3 => { - Option::Some(lifted2037) - } - _ => panic() - } + let result1631 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array2039.push(@types.VariantCaseType::{ - name: result2024, - payload: lifted2025, - metadata: @types.MetadataEnvelope::{ - doc: lifted2027, - aliases: array2029, - examples: array2032, - deprecated: lifted2035, - role: lifted2038, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2039) - } - 16 => { - let array2042 : Array[String] = [] - for index2043 = 0 - index2043 < mbt_ffi_load32(iter_base + 12) - index2043 = index2043 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2043 * 8 - - let result2041 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2042.push(result2041) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2042) - } - 17 => { - let array2045 : Array[String] = [] - for index2046 = 0 - index2046 < mbt_ffi_load32(iter_base + 12) - index2046 = index2046 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2046 * 8 - - let result2044 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2045.push(result2044) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2045) - } - 18 => { - let array2047 : Array[Int] = [] - for index2048 = 0 - index2048 < mbt_ffi_load32(iter_base + 12) - index2048 = index2048 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2048 * 4 - - array2047.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2047) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2049 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2050 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2049, - err: lifted2050, - }) - } - 24 => { - let lifted2054 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2052 : Array[String] = [] - for index2053 = 0 - index2053 < mbt_ffi_load32(iter_base + 16) - index2053 = index2053 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2053 * 8 - - let result2051 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2052.push(result2051) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2052) - } - _ => panic() - } - - let lifted2055 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2056 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2058 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2057 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2057) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2054, - min_length: lifted2055, - max_length: lifted2056, - regex: lifted2058, - }) - } - 25 => { - let lifted2062 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2060 : Array[String] = [] - for index2061 = 0 - index2061 < mbt_ffi_load32(iter_base + 16) - index2061 = index2061 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2061 * 8 - - let result2059 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2060.push(result2059) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2060) - } - _ => panic() - } - - let lifted2063 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2064 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2062, - min_bytes: lifted2063, - max_bytes: lifted2064, - }) - } - 26 => { - let lifted2068 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2066 : Array[String] = [] - for index2067 = 0 - index2067 < mbt_ffi_load32(iter_base + 20) - index2067 = index2067 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2067 * 8 - - let result2065 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2066.push(result2065) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2066) - } - _ => panic() - } - - let lifted2072 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2070 : Array[String] = [] - for index2071 = 0 - index2071 < mbt_ffi_load32(iter_base + 32) - index2071 = index2071 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2071 * 8 - - let result2069 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2070.push(result2069) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2070) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2068, - allowed_extensions: lifted2072, - }) - } - 27 => { - let lifted2076 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2074 : Array[String] = [] - for index2075 = 0 - index2075 < mbt_ffi_load32(iter_base + 16) - index2075 = index2075 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2075 * 8 - - let result2073 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2074.push(result2073) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2074) - } - _ => panic() - } - - let lifted2080 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2078 : Array[String] = [] - for index2079 = 0 - index2079 < mbt_ffi_load32(iter_base + 28) - index2079 = index2079 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2079 * 8 - - let result2077 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2078.push(result2077) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2078) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2076, - allowed_hosts: lifted2080, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2081 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2083 : Array[String] = [] - for index2084 = 0 - index2084 < mbt_ffi_load32(iter_base + 20) - index2084 = index2084 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2084 * 8 - - let result2082 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2083.push(result2082) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2086 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2085 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2085, - }) - } - _ => panic() - } - - let lifted2088 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2087 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2087, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2081, - allowed_suffixes: array2083, - min: lifted2086, - max: lifted2088, - }) - } - 31 => { - let array2112 : Array[@types.UnionBranch] = [] - for index2113 = 0 - index2113 < mbt_ffi_load32(iter_base + 12) - index2113 = index2113 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2113 * 92 - - let result2089 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2098 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2090 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2090) - } - 1 => { - let result2091 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2091) - } - 2 => { - let result2092 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2092) - } - 3 => { - let result2093 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2093) - } - 4 => { - let result2094 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2096 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2095 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.DiscriminatorRule::Regex(result1631) + } + 4 => { - Option::Some(result2095) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2094, - literal: lifted2096, - }) - } - 5 => { - let result2097 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2097) - } - _ => panic() - } + let result1632 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted2100 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2099 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2099) - } - _ => panic() - } + let lifted1634 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - let array2102 : Array[String] = [] - for index2103 = 0 - index2103 < mbt_ffi_load32(iter_base + 52) - index2103 = index2103 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2103 * 8 + let result1633 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) - let result2101 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result1633) + } + _ => panic() + } - array2102.push(result2101) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1632, literal : lifted1634}) + } + 5 => { - let array2105 : Array[String] = [] - for index2106 = 0 - index2106 < mbt_ffi_load32(iter_base + 60) - index2106 = index2106 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2106 * 8 + let result1635 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let result2104 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.DiscriminatorRule::FieldAbsent(result1635) + } + _ => panic() + } - array2105.push(result2104) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2108 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2107 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2107) - } - _ => panic() - } + let lifted1638 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - let lifted2111 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2110 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2109 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let result1637 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - @types.Role::Other(result2109) - } - _ => panic() - } + Option::Some(result1637) + } + _ => panic() + } - Option::Some(lifted2110) - } - _ => panic() - } + let array1640 : Array[String] = []; + for index1641 = 0; index1641 < (mbt_ffi_load32((iter_base) + 52)); index1641 = index1641 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1641 * 8) - array2112.push(@types.UnionBranch::{ - tag: result2089, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2098, - metadata: @types.MetadataEnvelope::{ - doc: lifted2100, - aliases: array2102, - examples: array2105, - deprecated: lifted2108, - role: lifted2111, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2112, - }) - } - 32 => { - let lifted2115 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2114 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2114) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2115, - }) - } - 33 => { - let lifted2117 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2116 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2116) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2117, - }) - } - 34 => { - let lifted2118 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2118) - } - 35 => { - let lifted2119 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2119) - } - _ => panic() - } + let result1639 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted2122 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2121 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2121) - } - _ => panic() - } + array1640.push(result1639) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - let array2124 : Array[String] = [] - for index2125 = 0 - index2125 < mbt_ffi_load32(iter_base + 104) - index2125 = index2125 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2125 * 8 + let array1643 : Array[String] = []; + for index1644 = 0; index1644 < (mbt_ffi_load32((iter_base) + 60)); index1644 = index1644 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1644 * 8) - let result2123 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1642 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array2124.push(result2123) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + array1643.push(result1642) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - let array2127 : Array[String] = [] - for index2128 = 0 - index2128 < mbt_ffi_load32(iter_base + 112) - index2128 = index2128 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2128 * 8 + let lifted1646 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let result2126 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1645 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - array2127.push(result2126) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2130 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2129 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2129) - } - _ => panic() - } + Option::Some(result1645) + } + _ => panic() + } - let lifted2133 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2132 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2131 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2131) - } - _ => panic() - } + let lifted1649 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { - Option::Some(lifted2132) - } - _ => panic() - } + let lifted1648 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { - array2134.push(@types.SchemaTypeNode::{ - body: lifted2120, - metadata: @types.MetadataEnvelope::{ - doc: lifted2122, - aliases: array2124, - examples: array2127, - deprecated: lifted2130, - role: lifted2133, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array2139 : Array[@types.SchemaTypeDef] = [] - for index2140 = 0 - index2140 < mbt_ffi_load32(iter_base + 40) - index2140 = index2140 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2140 * 24 - - let result2136 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2138 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2137 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2137) - } - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - array2139.push(@types.SchemaTypeDef::{ - id: result2136, - name: lifted2138, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array2170 : Array[@types.SchemaValueNode] = [] - for index2171 = 0 - index2171 < mbt_ffi_load32(iter_base + 52) - index2171 = index2171 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2171 * 32 - - let lifted2169 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2141 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2141) - } - 13 => { - let array2142 : Array[Int] = [] - for index2143 = 0 - index2143 < mbt_ffi_load32(iter_base + 12) - index2143 = index2143 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2143 * 4 - - array2142.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2142) - } - 14 => { - let lifted2144 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2144, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2145 : Array[Bool] = [] - for index2146 = 0 - index2146 < mbt_ffi_load32(iter_base + 12) - index2146 = index2146 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2146 * 1 - - array2145.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2145) - } - 17 => { - let array2147 : Array[Int] = [] - for index2148 = 0 - index2148 < mbt_ffi_load32(iter_base + 12) - index2148 = index2148 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2148 * 4 - - array2147.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2147) - } - 18 => { - let array2149 : Array[Int] = [] - for index2150 = 0 - index2150 < mbt_ffi_load32(iter_base + 12) - index2150 = index2150 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2150 * 4 - - array2149.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2149) - } - 19 => { - let array2151 : Array[Int] = [] - for index2152 = 0 - index2152 < mbt_ffi_load32(iter_base + 12) - index2152 = index2152 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2152 * 4 - - array2151.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2151) - } - 20 => { - let array2153 : Array[@types.MapEntry] = [] - for index2154 = 0 - index2154 < mbt_ffi_load32(iter_base + 12) - index2154 = index2154 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2154 * 8 - - array2153.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2153) - } - 21 => { - let lifted2155 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2155) - } - 22 => { - let lifted2158 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2156 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2156) - } - 1 => { - let lifted2157 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2157) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2158) - } - 23 => { - let result2159 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2161 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2160 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2160) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2159, - language: lifted2161, - }) - } - 24 => { - let result2162 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2164 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2163 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2163) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2162, - mime_type: lifted2164, - }) - } - 25 => { - let result2165 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2165) - } - 26 => { - let result2166 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2166) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2167 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2167, - }) - } - 30 => { - let result2168 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2168, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - array2170.push(lifted2169) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - AgentInvocationResult::AgentInitialization(AgentInvocationOutputParameters::{ - output: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2134, - defs: array2139, - root: mbt_ffi_load32(iter_base + 44), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2170, - root: mbt_ffi_load32(iter_base + 56), - }, - }, - }) - } - 1 => { - let array2368 : Array[@types.SchemaTypeNode] = [] - for index2369 = 0 - index2369 < mbt_ffi_load32(iter_base + 32) - index2369 = index2369 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2369 * 144 - - let lifted2354 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted2178 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2173 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2172 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted2172) - } - _ => panic() - } - - let lifted2175 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2174 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1647 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) - Option::Some(lifted2174) - } - _ => panic() - } - - let lifted2177 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2176 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2176) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2173, - max: lifted2175, - unit: lifted2177, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted2178) - } - 3 => { - let lifted2185 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2180 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2179 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Other(result1647) + } + _ => panic() + } - Option::Some(lifted2179) - } - _ => panic() - } - - let lifted2182 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2181 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1648) + } + _ => panic() + } - Option::Some(lifted2181) - } - _ => panic() - } - - let lifted2184 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2183 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2183) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2180, - max: lifted2182, - unit: lifted2184, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted2185) - } - 4 => { - let lifted2192 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2187 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2186 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array1650.push(@types.UnionBranch::{tag : result1627, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1636, metadata : @types.MetadataEnvelope::{doc : lifted1638, aliases : array1640, examples : array1643, deprecated : lifted1646, role : lifted1649}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2186) - } - _ => panic() - } - - let lifted2189 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2188 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1650}) + } + 32 => { - Option::Some(lifted2188) - } - _ => panic() - } - - let lifted2191 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2190 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2190) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2187, - max: lifted2189, - unit: lifted2191, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted2192) - } - 5 => { - let lifted2199 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2194 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2193 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1653 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted2193) - } - _ => panic() - } - - let lifted2196 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2195 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1652 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted2195) - } - _ => panic() - } - - let lifted2198 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2197 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2197) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2194, - max: lifted2196, - unit: lifted2198, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted2199) - } - 6 => { - let lifted2206 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2201 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2200 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1652) + } + _ => panic() + } - Option::Some(lifted2200) - } - _ => panic() - } - - let lifted2203 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2202 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1653}) + } + 33 => { - Option::Some(lifted2202) - } - _ => panic() - } - - let lifted2205 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2204 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2204) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2201, - max: lifted2203, - unit: lifted2205, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted2206) - } - 7 => { - let lifted2213 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2208 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2207 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1655 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2207) - } - _ => panic() - } - - let lifted2210 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2209 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1654 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - Option::Some(lifted2209) - } - _ => panic() - } - - let lifted2212 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2211 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2211) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2208, - max: lifted2210, - unit: lifted2212, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted2213) - } - 8 => { - let lifted2220 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2215 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2214 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1654) + } + _ => panic() + } - Option::Some(lifted2214) - } - _ => panic() - } - - let lifted2217 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2216 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1655}) + } + 34 => { - Option::Some(lifted2216) - } - _ => panic() - } - - let lifted2219 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2218 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2218) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2215, - max: lifted2217, - unit: lifted2219, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted2220) - } - 9 => { - let lifted2227 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2222 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2221 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1656 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2221) - } - _ => panic() - } - - let lifted2224 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2223 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted2223) - } - _ => panic() - } - - let lifted2226 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2225 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2225) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2222, - max: lifted2224, - unit: lifted2226, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted2227) - } - 10 => { - let lifted2234 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2229 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2228 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::FutureType(lifted1656) + } + 35 => { - Option::Some(lifted2228) - } - _ => panic() - } - - let lifted2231 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2230 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1657 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2230) - } - _ => panic() - } - - let lifted2233 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2232 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2232) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2229, - max: lifted2231, - unit: lifted2233, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2234) - } - 11 => { - let lifted2241 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2236 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2235 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted2235) - } - _ => panic() - } - - let lifted2238 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2237 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::StreamType(lifted1657) + } + _ => panic() + } - Option::Some(lifted2237) - } - _ => panic() - } - - let lifted2240 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2239 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2239) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2236, - max: lifted2238, - unit: lifted2240, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2241) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2256 : Array[@types.NamedFieldType] = [] - for index2257 = 0 - index2257 < mbt_ffi_load32(iter_base + 12) - index2257 = index2257 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2257 * 68 - - let result2242 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2244 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2243 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2243) - } - _ => panic() - } + let lifted1660 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { - let array2246 : Array[String] = [] - for index2247 = 0 - index2247 < mbt_ffi_load32(iter_base + 28) - index2247 = index2247 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2247 * 8 + let result1659 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) - let result2245 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result1659) + } + _ => panic() + } - array2246.push(result2245) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let array1662 : Array[String] = []; + for index1663 = 0; index1663 < (mbt_ffi_load32((iter_base) + 104)); index1663 = index1663 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1663 * 8) - let array2249 : Array[String] = [] - for index2250 = 0 - index2250 < mbt_ffi_load32(iter_base + 36) - index2250 = index2250 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2250 * 8 + let result1661 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result2248 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1662.push(result1661) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) - array2249.push(result2248) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2252 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2251 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2251) - } - _ => panic() - } + let array1665 : Array[String] = []; + for index1666 = 0; index1666 < (mbt_ffi_load32((iter_base) + 112)); index1666 = index1666 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1666 * 8) - let lifted2255 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2254 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2253 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let result1664 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.Role::Other(result2253) - } - _ => panic() - } + array1665.push(result1664) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) - Option::Some(lifted2254) - } - _ => panic() - } + let lifted1668 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { - array2256.push(@types.NamedFieldType::{ - name: result2242, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2244, - aliases: array2246, - examples: array2249, - deprecated: lifted2252, - role: lifted2255, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2256) - } - 15 => { - let array2273 : Array[@types.VariantCaseType] = [] - for index2274 = 0 - index2274 < mbt_ffi_load32(iter_base + 12) - index2274 = index2274 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2274 * 72 - - let result2258 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2259 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result1667 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) - let lifted2261 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2260 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2260) - } - _ => panic() - } + Option::Some(result1667) + } + _ => panic() + } - let array2263 : Array[String] = [] - for index2264 = 0 - index2264 < mbt_ffi_load32(iter_base + 32) - index2264 = index2264 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2264 * 8 + let lifted1671 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { - let result2262 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1670 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { - array2263.push(result2262) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.Role::Multimodal + } + 1 => { - let array2266 : Array[String] = [] - for index2267 = 0 - index2267 < mbt_ffi_load32(iter_base + 40) - index2267 = index2267 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2267 * 8 + @types.Role::UnstructuredText + } + 2 => { - let result2265 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.Role::UnstructuredBinary + } + 3 => { - array2266.push(result2265) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2269 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2268 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2268) - } - _ => panic() - } + let result1669 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) - let lifted2272 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2271 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2270 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.Role::Other(result1669) + } + _ => panic() + } - @types.Role::Other(result2270) - } - _ => panic() - } + Option::Some(lifted1670) + } + _ => panic() + } - Option::Some(lifted2271) - } - _ => panic() - } + array1672.push(@types.SchemaTypeNode::{body : lifted1658, metadata : @types.MetadataEnvelope::{doc : lifted1660, aliases : array1662, examples : array1665, deprecated : lifted1668, role : lifted1671}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - array2273.push(@types.VariantCaseType::{ - name: result2258, - payload: lifted2259, - metadata: @types.MetadataEnvelope::{ - doc: lifted2261, - aliases: array2263, - examples: array2266, - deprecated: lifted2269, - role: lifted2272, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2273) - } - 16 => { - let array2276 : Array[String] = [] - for index2277 = 0 - index2277 < mbt_ffi_load32(iter_base + 12) - index2277 = index2277 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2277 * 8 - - let result2275 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2276.push(result2275) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2276) - } - 17 => { - let array2279 : Array[String] = [] - for index2280 = 0 - index2280 < mbt_ffi_load32(iter_base + 12) - index2280 = index2280 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2280 * 8 - - let result2278 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2279.push(result2278) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2279) - } - 18 => { - let array2281 : Array[Int] = [] - for index2282 = 0 - index2282 < mbt_ffi_load32(iter_base + 12) - index2282 = index2282 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2282 * 4 - - array2281.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2281) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2283 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2284 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2283, - err: lifted2284, - }) - } - 24 => { - let lifted2288 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2286 : Array[String] = [] - for index2287 = 0 - index2287 < mbt_ffi_load32(iter_base + 16) - index2287 = index2287 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2287 * 8 - - let result2285 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2286.push(result2285) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2286) - } - _ => panic() - } - - let lifted2289 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2290 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2292 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2291 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2291) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2288, - min_length: lifted2289, - max_length: lifted2290, - regex: lifted2292, - }) - } - 25 => { - let lifted2296 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2294 : Array[String] = [] - for index2295 = 0 - index2295 < mbt_ffi_load32(iter_base + 16) - index2295 = index2295 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2295 * 8 - - let result2293 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2294.push(result2293) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2294) - } - _ => panic() - } - - let lifted2297 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2298 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2296, - min_bytes: lifted2297, - max_bytes: lifted2298, - }) - } - 26 => { - let lifted2302 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2300 : Array[String] = [] - for index2301 = 0 - index2301 < mbt_ffi_load32(iter_base + 20) - index2301 = index2301 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2301 * 8 - - let result2299 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2300.push(result2299) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2300) - } - _ => panic() - } - - let lifted2306 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2304 : Array[String] = [] - for index2305 = 0 - index2305 < mbt_ffi_load32(iter_base + 32) - index2305 = index2305 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2305 * 8 - - let result2303 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2304.push(result2303) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2304) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2302, - allowed_extensions: lifted2306, - }) - } - 27 => { - let lifted2310 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2308 : Array[String] = [] - for index2309 = 0 - index2309 < mbt_ffi_load32(iter_base + 16) - index2309 = index2309 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2309 * 8 - - let result2307 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2308.push(result2307) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2308) - } - _ => panic() - } - - let lifted2314 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2312 : Array[String] = [] - for index2313 = 0 - index2313 < mbt_ffi_load32(iter_base + 28) - index2313 = index2313 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2313 * 8 - - let result2311 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2312.push(result2311) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2312) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2310, - allowed_hosts: lifted2314, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2315 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2317 : Array[String] = [] - for index2318 = 0 - index2318 < mbt_ffi_load32(iter_base + 20) - index2318 = index2318 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2318 * 8 - - let result2316 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2317.push(result2316) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2320 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2319 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2319, - }) - } - _ => panic() - } - - let lifted2322 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2321 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2321, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2315, - allowed_suffixes: array2317, - min: lifted2320, - max: lifted2322, - }) - } - 31 => { - let array2346 : Array[@types.UnionBranch] = [] - for index2347 = 0 - index2347 < mbt_ffi_load32(iter_base + 12) - index2347 = index2347 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2347 * 92 - - let result2323 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2332 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2324 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2324) - } - 1 => { - let result2325 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2325) - } - 2 => { - let result2326 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2326) - } - 3 => { - let result2327 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2327) - } - 4 => { - let result2328 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2330 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2329 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let array1677 : Array[@types.SchemaTypeDef] = []; + for index1678 = 0; index1678 < (mbt_ffi_load32((iter_base) + 48)); index1678 = index1678 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index1678 * 24) - Option::Some(result2329) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2328, - literal: lifted2330, - }) - } - 5 => { - let result2331 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2331) - } - _ => panic() - } + let result1674 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted2334 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2333 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2333) - } - _ => panic() - } + let lifted1676 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array2336 : Array[String] = [] - for index2337 = 0 - index2337 < mbt_ffi_load32(iter_base + 52) - index2337 = index2337 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2337 * 8 + let result1675 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - let result2335 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result1675) + } + _ => panic() + } - array2336.push(result2335) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + array1677.push(@types.SchemaTypeDef::{id : result1674, name : lifted1676, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) - let array2339 : Array[String] = [] - for index2340 = 0 - index2340 < mbt_ffi_load32(iter_base + 60) - index2340 = index2340 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2340 * 8 + let array1708 : Array[@types.SchemaValueNode] = []; + for index1709 = 0; index1709 < (mbt_ffi_load32((iter_base) + 60)); index1709 = index1709 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1709 * 32) - let result2338 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1707 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - array2339.push(result2338) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2342 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2341 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2341) - } - _ => panic() - } + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { - let lifted2345 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2344 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2343 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { - @types.Role::Other(result2343) - } - _ => panic() - } + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { - Option::Some(lifted2344) - } - _ => panic() - } + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { - array2346.push(@types.UnionBranch::{ - tag: result2323, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2332, - metadata: @types.MetadataEnvelope::{ - doc: lifted2334, - aliases: array2336, - examples: array2339, - deprecated: lifted2342, - role: lifted2345, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2346, - }) - } - 32 => { - let lifted2349 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2348 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2348) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2349, - }) - } - 33 => { - let lifted2351 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2350 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2350) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2351, - }) - } - 34 => { - let lifted2352 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2352) - } - 35 => { - let lifted2353 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2353) - } - _ => panic() - } + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { - let lifted2356 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2355 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2355) - } - _ => panic() - } + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { - let array2358 : Array[String] = [] - for index2359 = 0 - index2359 < mbt_ffi_load32(iter_base + 104) - index2359 = index2359 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2359 * 8 + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { - let result2357 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { - array2358.push(result2357) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { - let array2361 : Array[String] = [] - for index2362 = 0 - index2362 < mbt_ffi_load32(iter_base + 112) - index2362 = index2362 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2362 * 8 + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { - let result2360 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { - array2361.push(result2360) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2364 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2363 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2363) - } - _ => panic() - } + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { - let lifted2367 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2366 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2365 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2365) - } - _ => panic() - } + let result1679 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted2366) - } - _ => panic() - } + @types.SchemaValueNode::StringValue(result1679) + } + 13 => { - array2368.push(@types.SchemaTypeNode::{ - body: lifted2354, - metadata: @types.MetadataEnvelope::{ - doc: lifted2356, - aliases: array2358, - examples: array2361, - deprecated: lifted2364, - role: lifted2367, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array2373 : Array[@types.SchemaTypeDef] = [] - for index2374 = 0 - index2374 < mbt_ffi_load32(iter_base + 40) - index2374 = index2374 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2374 * 24 - - let result2370 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2372 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2371 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2371) - } - _ => panic() - } + let array1680 : Array[Int] = []; + for index1681 = 0; index1681 < (mbt_ffi_load32((iter_base) + 12)); index1681 = index1681 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1681 * 4) - array2373.push(@types.SchemaTypeDef::{ - id: result2370, - name: lifted2372, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array2404 : Array[@types.SchemaValueNode] = [] - for index2405 = 0 - index2405 < mbt_ffi_load32(iter_base + 52) - index2405 = index2405 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2405 * 32 - - let lifted2403 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2375 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2375) - } - 13 => { - let array2376 : Array[Int] = [] - for index2377 = 0 - index2377 < mbt_ffi_load32(iter_base + 12) - index2377 = index2377 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2377 * 4 - - array2376.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2376) - } - 14 => { - let lifted2378 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2378, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2379 : Array[Bool] = [] - for index2380 = 0 - index2380 < mbt_ffi_load32(iter_base + 12) - index2380 = index2380 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2380 * 1 - - array2379.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2379) - } - 17 => { - let array2381 : Array[Int] = [] - for index2382 = 0 - index2382 < mbt_ffi_load32(iter_base + 12) - index2382 = index2382 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2382 * 4 - - array2381.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2381) - } - 18 => { - let array2383 : Array[Int] = [] - for index2384 = 0 - index2384 < mbt_ffi_load32(iter_base + 12) - index2384 = index2384 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2384 * 4 - - array2383.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2383) - } - 19 => { - let array2385 : Array[Int] = [] - for index2386 = 0 - index2386 < mbt_ffi_load32(iter_base + 12) - index2386 = index2386 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2386 * 4 - - array2385.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2385) - } - 20 => { - let array2387 : Array[@types.MapEntry] = [] - for index2388 = 0 - index2388 < mbt_ffi_load32(iter_base + 12) - index2388 = index2388 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2388 * 8 - - array2387.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2387) - } - 21 => { - let lifted2389 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2389) - } - 22 => { - let lifted2392 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2390 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2390) - } - 1 => { - let lifted2391 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2391) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2392) - } - 23 => { - let result2393 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2395 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2394 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2394) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2393, - language: lifted2395, - }) - } - 24 => { - let result2396 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2398 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2397 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2397) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2396, - mime_type: lifted2398, - }) - } - 25 => { - let result2399 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2399) - } - 26 => { - let result2400 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2400) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2401 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2401, - }) - } - 30 => { - let result2402 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2402, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + array1680.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array2404.push(lifted2403) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - AgentInvocationResult::AgentMethod(AgentInvocationOutputParameters::{ - output: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2368, - defs: array2373, - root: mbt_ffi_load32(iter_base + 44), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2404, - root: mbt_ffi_load32(iter_base + 56), - }, - }, - }) - } - 2 => AgentInvocationResult::ManualUpdate - 3 => { - let lifted2407 : String? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => { - let result2406 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - Option::Some(result2406) - } - _ => panic() - } - - AgentInvocationResult::LoadSnapshot(FallibleResultParameters::{ - error: lifted2407, - }) - } - 4 => { - let result2408 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let result2409 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - AgentInvocationResult::SaveSnapshot(SaveSnapshotResultParameters::{ - snapshot: SnapshotData::{ - data: result2408, - mime_type: result2409, - }, - }) - } - 5 => { - let lifted2411 : String? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => { - let result2410 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - Option::Some(result2410) - } - _ => panic() - } - - AgentInvocationResult::ProcessOplogEntries(FallibleResultParameters::{ - error: lifted2411, - }) - } - _ => panic() - } + @types.SchemaValueNode::RecordValue(array1680) + } + 14 => { - let lifted2414 : String? = match mbt_ffi_load8_u(iter_base + 60) { - 0 => Option::None - 1 => { - let result2413 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - Option::Some(result2413) - } - _ => panic() - } + let lifted1682 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - PublicOplogEntry::AgentInvocationFinished(AgentInvocationFinishedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - result: lifted2412, - method_name: lifted2414, - consumed_fuel: mbt_ffi_load64(iter_base + 72), - component_revision: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - }) - } - 6 => - PublicOplogEntry::Suspend(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 7 => { - let result2415 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let lifted2419 : RetryPolicyState? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let array2417 : Array[StateNode] = [] - for index2418 = 0 - index2418 < mbt_ffi_load32(iter_base + 52) - index2418 = index2418 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2418 * 16 - - let lifted2416 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - StateNode::Counter( - mbt_ffi_load32(iter_base + 4).reinterpret_as_uint(), - ) - 1 => StateNode::Terminal - 2 => StateNode::Wrapper(mbt_ffi_load32(iter_base + 4)) - 3 => - StateNode::CountBox(CountBoxState::{ - attempts: mbt_ffi_load32(iter_base + 4).reinterpret_as_uint(), - inner: mbt_ffi_load32(iter_base + 8), - }) - 4 => - StateNode::AndThen(AndThenState::{ - left: mbt_ffi_load32(iter_base + 4), - right: mbt_ffi_load32(iter_base + 8), - on_right: mbt_ffi_load8_u(iter_base + 12) != 0, - }) - 5 => - StateNode::Pair(PairState::{ - left: mbt_ffi_load32(iter_base + 4), - right: mbt_ffi_load32(iter_base + 8), - }) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - array2417.push(lifted2416) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1682}) + } + 15 => { - Option::Some(RetryPolicyState::{ nodes: array2417 }) - } - _ => panic() - } + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { - PublicOplogEntry::Error(ErrorParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - error: result2415, - retry_from: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - inside_atomic_region: mbt_ffi_load8_u(iter_base + 40) != 0, - retry_policy_state: lifted2419, - }) - } - 8 => - PublicOplogEntry::NoOp(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 9 => - PublicOplogEntry::Jump(JumpParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - jump: OplogRegion::{ - start: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - end: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }) - 10 => - PublicOplogEntry::Interrupted(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 11 => - PublicOplogEntry::Exited(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 12 => - PublicOplogEntry::BeginAtomicRegion(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 13 => - PublicOplogEntry::EndAtomicRegion(EndAtomicRegionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 14 => { - let lifted2932 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => { - let result2420 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let array2617 : Array[@types.SchemaTypeNode] = [] - for index2618 = 0 - index2618 < mbt_ffi_load32(iter_base + 44) - index2618 = index2618 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 40) + - index2618 * 144 - - let lifted2603 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted2427 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2422 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2421 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1683 : Array[Bool] = []; + for index1684 = 0; index1684 < (mbt_ffi_load32((iter_base) + 12)); index1684 = index1684 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1684 * 1) - Option::Some(lifted2421) - } - _ => panic() - } - - let lifted2424 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2423 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1683.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2423) - } - _ => panic() - } - - let lifted2426 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2425 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2425) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2422, - max: lifted2424, - unit: lifted2426, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted2427) - } - 3 => { - let lifted2434 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2429 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2428 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::FlagsValue(array1683) + } + 17 => { - Option::Some(lifted2428) - } - _ => panic() - } - - let lifted2431 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2430 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1685 : Array[Int] = []; + for index1686 = 0; index1686 < (mbt_ffi_load32((iter_base) + 12)); index1686 = index1686 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1686 * 4) - Option::Some(lifted2430) - } - _ => panic() - } - - let lifted2433 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2432 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2432) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2429, - max: lifted2431, - unit: lifted2433, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted2434) - } - 4 => { - let lifted2441 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2436 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2435 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array1685.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2435) - } - _ => panic() - } - - let lifted2438 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2437 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::TupleValue(array1685) + } + 18 => { - Option::Some(lifted2437) - } - _ => panic() - } - - let lifted2440 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2439 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2439) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2436, - max: lifted2438, - unit: lifted2440, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted2441) - } - 5 => { - let lifted2448 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2443 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2442 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1687 : Array[Int] = []; + for index1688 = 0; index1688 < (mbt_ffi_load32((iter_base) + 12)); index1688 = index1688 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1688 * 4) - Option::Some(lifted2442) - } - _ => panic() - } - - let lifted2445 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2444 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1687.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2444) - } - _ => panic() - } - - let lifted2447 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2446 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2446) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2443, - max: lifted2445, - unit: lifted2447, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted2448) - } - 6 => { - let lifted2455 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2450 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2449 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::ListValue(array1687) + } + 19 => { - Option::Some(lifted2449) - } - _ => panic() - } - - let lifted2452 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2451 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1689 : Array[Int] = []; + for index1690 = 0; index1690 < (mbt_ffi_load32((iter_base) + 12)); index1690 = index1690 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1690 * 4) - Option::Some(lifted2451) - } - _ => panic() - } - - let lifted2454 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2453 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2453) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2450, - max: lifted2452, - unit: lifted2454, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted2455) - } - 7 => { - let lifted2462 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2457 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2456 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array1689.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2456) - } - _ => panic() - } - - let lifted2459 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2458 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::FixedListValue(array1689) + } + 20 => { - Option::Some(lifted2458) - } - _ => panic() - } - - let lifted2461 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2460 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2460) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2457, - max: lifted2459, - unit: lifted2461, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted2462) - } - 8 => { - let lifted2469 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2464 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2463 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1691 : Array[@types.MapEntry] = []; + for index1692 = 0; index1692 < (mbt_ffi_load32((iter_base) + 12)); index1692 = index1692 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1692 * 8) - Option::Some(lifted2463) - } - _ => panic() - } - - let lifted2466 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2465 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1691.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2465) - } - _ => panic() - } - - let lifted2468 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2467 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2467) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2464, - max: lifted2466, - unit: lifted2468, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted2469) - } - 9 => { - let lifted2476 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2471 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2470 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::MapValue(array1691) + } + 21 => { - Option::Some(lifted2470) - } - _ => panic() - } - - let lifted2473 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2472 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1693 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2472) - } - _ => panic() - } - - let lifted2475 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2474 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2474) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2471, - max: lifted2473, - unit: lifted2475, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted2476) - } - 10 => { - let lifted2483 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2478 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2477 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted2477) - } - _ => panic() - } - - let lifted2480 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2479 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::OptionValue(lifted1693) + } + 22 => { - Option::Some(lifted2479) - } - _ => panic() - } - - let lifted2482 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2481 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2481) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2478, - max: lifted2480, - unit: lifted2482, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2483) - } - 11 => { - let lifted2490 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2485 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2484 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1696 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - Option::Some(lifted2484) - } - _ => panic() - } - - let lifted2487 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2486 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1694 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted2486) - } - _ => panic() - } - - let lifted2489 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2488 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2488) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2485, - max: lifted2487, - unit: lifted2489, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2490) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2505 : Array[@types.NamedFieldType] = [] - for index2506 = 0 - index2506 < mbt_ffi_load32(iter_base + 12) - index2506 = index2506 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2506 * 68 - - let result2491 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2493 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2492 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2492) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - let array2495 : Array[String] = [] - for index2496 = 0 - index2496 < mbt_ffi_load32(iter_base + 28) - index2496 = index2496 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2496 * 8 + @types.ResultValuePayload::OkValue(lifted1694) + } + 1 => { - let result2494 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1695 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - array2495.push(result2494) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - let array2498 : Array[String] = [] - for index2499 = 0 - index2499 < mbt_ffi_load32(iter_base + 36) - index2499 = index2499 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2499 * 8 + @types.ResultValuePayload::ErrValue(lifted1695) + } + _ => panic() + } - let result2497 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::ResultValue(lifted1696) + } + 23 => { - array2498.push(result2497) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2501 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2500 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2500) - } - _ => panic() - } + let result1697 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let lifted2504 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2503 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2502 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let lifted1699 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - @types.Role::Other(result2502) - } - _ => panic() - } + let result1698 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted2503) - } - _ => panic() - } + Option::Some(result1698) + } + _ => panic() + } - array2505.push(@types.NamedFieldType::{ - name: result2491, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2493, - aliases: array2495, - examples: array2498, - deprecated: lifted2501, - role: lifted2504, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2505) - } - 15 => { - let array2522 : Array[@types.VariantCaseType] = [] - for index2523 = 0 - index2523 < mbt_ffi_load32(iter_base + 12) - index2523 = index2523 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2523 * 72 - - let result2507 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2508 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1697, language : lifted1699}) + } + 24 => { - let lifted2510 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2509 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2509) - } - _ => panic() - } + let result1700 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let array2512 : Array[String] = [] - for index2513 = 0 - index2513 < mbt_ffi_load32(iter_base + 32) - index2513 = index2513 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2513 * 8 + let lifted1702 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let result2511 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1701 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - array2512.push(result2511) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + Option::Some(result1701) + } + _ => panic() + } - let array2515 : Array[String] = [] - for index2516 = 0 - index2516 < mbt_ffi_load32(iter_base + 40) - index2516 = index2516 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2516 * 8 + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1700, mime_type : lifted1702}) + } + 25 => { - let result2514 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1703 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array2515.push(result2514) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2518 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2517 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2517) - } - _ => panic() - } + @types.SchemaValueNode::PathValue(result1703) + } + 26 => { - let lifted2521 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2520 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2519 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result1704 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.Role::Other(result2519) - } - _ => panic() - } + @types.SchemaValueNode::UrlValue(result1704) + } + 27 => { - Option::Some(lifted2520) - } - _ => panic() - } + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { - array2522.push(@types.VariantCaseType::{ - name: result2507, - payload: lifted2508, - metadata: @types.MetadataEnvelope::{ - doc: lifted2510, - aliases: array2512, - examples: array2515, - deprecated: lifted2518, - role: lifted2521, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2522) - } - 16 => { - let array2525 : Array[String] = [] - for index2526 = 0 - index2526 < mbt_ffi_load32(iter_base + 12) - index2526 = index2526 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2526 * 8 - - let result2524 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2525.push(result2524) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2525) - } - 17 => { - let array2528 : Array[String] = [] - for index2529 = 0 - index2529 < mbt_ffi_load32(iter_base + 12) - index2529 = index2529 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2529 * 8 - - let result2527 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2528.push(result2527) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2528) - } - 18 => { - let array2530 : Array[Int] = [] - for index2531 = 0 - index2531 < mbt_ffi_load32(iter_base + 12) - index2531 = index2531 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2531 * 4 - - array2530.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2530) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2532 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2533 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2532, - err: lifted2533, - }) - } - 24 => { - let lifted2537 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2535 : Array[String] = [] - for index2536 = 0 - index2536 < mbt_ffi_load32(iter_base + 16) - index2536 = index2536 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2536 * 8 - - let result2534 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2535.push(result2534) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2535) - } - _ => panic() - } - - let lifted2538 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2539 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2541 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2540 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2540) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2537, - min_length: lifted2538, - max_length: lifted2539, - regex: lifted2541, - }) - } - 25 => { - let lifted2545 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2543 : Array[String] = [] - for index2544 = 0 - index2544 < mbt_ffi_load32(iter_base + 16) - index2544 = index2544 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2544 * 8 - - let result2542 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2543.push(result2542) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2543) - } - _ => panic() - } - - let lifted2546 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2547 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2545, - min_bytes: lifted2546, - max_bytes: lifted2547, - }) - } - 26 => { - let lifted2551 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2549 : Array[String] = [] - for index2550 = 0 - index2550 < mbt_ffi_load32(iter_base + 20) - index2550 = index2550 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2550 * 8 - - let result2548 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2549.push(result2548) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2549) - } - _ => panic() - } - - let lifted2555 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2553 : Array[String] = [] - for index2554 = 0 - index2554 < mbt_ffi_load32(iter_base + 32) - index2554 = index2554 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2554 * 8 - - let result2552 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2553.push(result2552) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2553) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2551, - allowed_extensions: lifted2555, - }) - } - 27 => { - let lifted2559 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2557 : Array[String] = [] - for index2558 = 0 - index2558 < mbt_ffi_load32(iter_base + 16) - index2558 = index2558 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2558 * 8 - - let result2556 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2557.push(result2556) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2557) - } - _ => panic() - } - - let lifted2563 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2561 : Array[String] = [] - for index2562 = 0 - index2562 < mbt_ffi_load32(iter_base + 28) - index2562 = index2562 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2562 * 8 - - let result2560 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2561.push(result2560) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2561) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2559, - allowed_hosts: lifted2563, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2564 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2566 : Array[String] = [] - for index2567 = 0 - index2567 < mbt_ffi_load32(iter_base + 20) - index2567 = index2567 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2567 * 8 - - let result2565 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2566.push(result2565) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2569 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2568 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2568, - }) - } - _ => panic() - } - - let lifted2571 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2570 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2570, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2564, - allowed_suffixes: array2566, - min: lifted2569, - max: lifted2571, - }) - } - 31 => { - let array2595 : Array[@types.UnionBranch] = [] - for index2596 = 0 - index2596 < mbt_ffi_load32(iter_base + 12) - index2596 = index2596 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2596 * 92 - - let result2572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2581 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2573 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2573) - } - 1 => { - let result2574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2574) - } - 2 => { - let result2575 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2575) - } - 3 => { - let result2576 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2576) - } - 4 => { - let result2577 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2579 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2578 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { - Option::Some(result2578) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2577, - literal: lifted2579, - }) - } - 5 => { - let result2580 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2580) - } - _ => panic() - } + let result1705 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let lifted2583 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2582 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2582) - } - _ => panic() - } + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1705}) + } + 30 => { - let array2585 : Array[String] = [] - for index2586 = 0 - index2586 < mbt_ffi_load32(iter_base + 52) - index2586 = index2586 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2586 * 8 + let result1706 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result2584 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1706, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { - array2585.push(result2584) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { - let array2588 : Array[String] = [] - for index2589 = 0 - index2589 < mbt_ffi_load32(iter_base + 60) - index2589 = index2589 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2589 * 8 + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } - let result2587 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1708.push(lifted1707) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - array2588.push(result2587) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2591 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2590 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2590) - } - _ => panic() - } + AgentInvocationResult::AgentInitialization(AgentInvocationOutputParameters::{output : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1672, defs : array1677, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array1708, root : mbt_ffi_load32((iter_base) + 64)}}}) + } + 1 => { - let lifted2594 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2593 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2592 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let array1906 : Array[@types.SchemaTypeNode] = []; + for index1907 = 0; index1907 < (mbt_ffi_load32((iter_base) + 40)); index1907 = index1907 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1907 * 144) - @types.Role::Other(result2592) - } - _ => panic() - } + let lifted1892 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted2593) - } - _ => panic() - } + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { - array2595.push(@types.UnionBranch::{ - tag: result2572, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2581, - metadata: @types.MetadataEnvelope::{ - doc: lifted2583, - aliases: array2585, - examples: array2588, - deprecated: lifted2591, - role: lifted2594, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2595, - }) - } - 32 => { - let lifted2598 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2597 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2597) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2598, - }) - } - 33 => { - let lifted2600 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2599 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2599) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2600, - }) - } - 34 => { - let lifted2601 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2601) - } - 35 => { - let lifted2602 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2602) - } - _ => panic() - } + @types.SchemaTypeBody::BoolType + } + 2 => { - let lifted2605 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2604 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2604) - } - _ => panic() - } + let lifted1716 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array2607 : Array[String] = [] - for index2608 = 0 - index2608 < mbt_ffi_load32(iter_base + 104) - index2608 = index2608 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2608 * 8 + let lifted1711 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let result2606 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1710 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - array2607.push(result2606) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - let array2610 : Array[String] = [] - for index2611 = 0 - index2611 < mbt_ffi_load32(iter_base + 112) - index2611 = index2611 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2611 * 8 + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - let result2609 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - array2610.push(result2609) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2613 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2612 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2612) - } - _ => panic() - } + Option::Some(lifted1710) + } + _ => panic() + } - let lifted2616 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2615 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2614 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2614) - } - _ => panic() - } + let lifted1713 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - Option::Some(lifted2615) - } - _ => panic() - } + let lifted1712 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - array2617.push(@types.SchemaTypeNode::{ - body: lifted2603, - metadata: @types.MetadataEnvelope::{ - doc: lifted2605, - aliases: array2607, - examples: array2610, - deprecated: lifted2613, - role: lifted2616, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 40)) - - let array2622 : Array[@types.SchemaTypeDef] = [] - for index2623 = 0 - index2623 < mbt_ffi_load32(iter_base + 52) - index2623 = index2623 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2623 * 24 - - let result2619 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2621 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2620 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2620) - } - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - array2622.push(@types.SchemaTypeDef::{ - id: result2619, - name: lifted2621, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array2653 : Array[@types.SchemaValueNode] = [] - for index2654 = 0 - index2654 < mbt_ffi_load32(iter_base + 64) - index2654 = index2654 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + - index2654 * 32 - - let lifted2652 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2624 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2624) - } - 13 => { - let array2625 : Array[Int] = [] - for index2626 = 0 - index2626 < mbt_ffi_load32(iter_base + 12) - index2626 = index2626 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2626 * 4 - - array2625.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2625) - } - 14 => { - let lifted2627 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2627, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2628 : Array[Bool] = [] - for index2629 = 0 - index2629 < mbt_ffi_load32(iter_base + 12) - index2629 = index2629 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2629 * 1 - - array2628.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2628) - } - 17 => { - let array2630 : Array[Int] = [] - for index2631 = 0 - index2631 < mbt_ffi_load32(iter_base + 12) - index2631 = index2631 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2631 * 4 - - array2630.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2630) - } - 18 => { - let array2632 : Array[Int] = [] - for index2633 = 0 - index2633 < mbt_ffi_load32(iter_base + 12) - index2633 = index2633 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2633 * 4 - - array2632.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2632) - } - 19 => { - let array2634 : Array[Int] = [] - for index2635 = 0 - index2635 < mbt_ffi_load32(iter_base + 12) - index2635 = index2635 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2635 * 4 - - array2634.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2634) - } - 20 => { - let array2636 : Array[@types.MapEntry] = [] - for index2637 = 0 - index2637 < mbt_ffi_load32(iter_base + 12) - index2637 = index2637 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2637 * 8 - - array2636.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2636) - } - 21 => { - let lifted2638 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2638) - } - 22 => { - let lifted2641 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2639 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2639) - } - 1 => { - let lifted2640 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2640) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2641) - } - 23 => { - let result2642 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2644 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2643 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2643) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2642, - language: lifted2644, - }) - } - 24 => { - let result2645 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2647 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2646 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2646) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2645, - mime_type: lifted2647, - }) - } - 25 => { - let result2648 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2648) - } - 26 => { - let result2649 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2649) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2650 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2650, - }) - } - 30 => { - let result2651 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2651, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - array2653.push(lifted2652) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - let result2655 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 72), - mbt_ffi_load32(iter_base + 76), - ) - - let array2657 : Array[String] = [] - for index2658 = 0 - index2658 < mbt_ffi_load32(iter_base + 84) - index2658 = index2658 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 80) + index2658 * 8 - - let result2656 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2657.push(result2656) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 80)) - - let array2672 : Array[Array[SpanData]] = [] - for index2673 = 0 - index2673 < mbt_ffi_load32(iter_base + 92) - index2673 = index2673 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index2673 * 8 - - let array2670 : Array[SpanData] = [] - for index2671 = 0 - index2671 < mbt_ffi_load32(iter_base + 4) - index2671 = index2671 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index2671 * 80 - - let lifted2669 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2659 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2661 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2660 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2660) - } - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - let lifted2662 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1712) + } + _ => panic() + } - let array2666 : Array[@context.Attribute] = [] - for index2667 = 0 - index2667 < mbt_ffi_load32(iter_base + 68) - index2667 = index2667 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index2667 * 20 - - let result2663 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2665 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2664 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2664) - } - _ => panic() - } - - array2666.push(@context.Attribute::{ - key: result2663, - value: lifted2665, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result2659, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted2661, - linked_context: lifted2662, - attributes: array2666, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result2668 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result2668, - }) - } - _ => panic() - } - - array2670.push(lifted2669) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array2672.push(array2670) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - AgentInvocation::AgentInitialization(AgentInitializationParameters::{ - idempotency_key: result2420, - constructor_parameters: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2617, - defs: array2622, - root: mbt_ffi_load32(iter_base + 56), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2653, - root: mbt_ffi_load32(iter_base + 68), - }, - }, - trace_id: result2655, - trace_states: array2657, - invocation_context: array2672, - }) - } - 1 => { - let result2674 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2675 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array2872 : Array[@types.SchemaTypeNode] = [] - for index2873 = 0 - index2873 < mbt_ffi_load32(iter_base + 52) - index2873 = index2873 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2873 * 144 - - let lifted2858 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted2682 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2677 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2676 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1715 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - Option::Some(lifted2676) - } - _ => panic() - } - - let lifted2679 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2678 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1714 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - Option::Some(lifted2678) - } - _ => panic() - } - - let lifted2681 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2680 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2680) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2677, - max: lifted2679, - unit: lifted2681, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted2682) - } - 3 => { - let lifted2689 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2684 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2683 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1714) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1711, max : lifted1713, unit : lifted1715}) + } + _ => panic() + } + + @types.SchemaTypeBody::S8Type(lifted1716) + } + 3 => { + + let lifted1723 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1718 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1717 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - Option::Some(lifted2683) - } - _ => panic() - } - - let lifted2686 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2685 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - Option::Some(lifted2685) - } - _ => panic() - } - - let lifted2688 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2687 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2687) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2684, - max: lifted2686, - unit: lifted2688, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted2689) - } - 4 => { - let lifted2696 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2691 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2690 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1717) + } + _ => panic() + } + + let lifted1720 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1719 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1719) + } + _ => panic() + } + + let lifted1722 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1721 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1721) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1718, max : lifted1720, unit : lifted1722}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1723) + } + 4 => { + + let lifted1730 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1725 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1724 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1724) + } + _ => panic() + } + + let lifted1727 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1726 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1726) + } + _ => panic() + } + + let lifted1729 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1728 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1728) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1725, max : lifted1727, unit : lifted1729}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1730) + } + 5 => { + + let lifted1737 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1732 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1731 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1731) + } + _ => panic() + } + + let lifted1734 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1733 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1733) + } + _ => panic() + } + + let lifted1736 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1735 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1735) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1732, max : lifted1734, unit : lifted1736}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1737) + } + 6 => { + + let lifted1744 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1739 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1738 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1738) + } + _ => panic() + } + + let lifted1741 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1740 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1740) + } + _ => panic() + } + + let lifted1743 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1742 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1742) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1739, max : lifted1741, unit : lifted1743}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1744) + } + 7 => { + + let lifted1751 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1746 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1745 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1745) + } + _ => panic() + } + + let lifted1748 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1747 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1747) + } + _ => panic() + } + + let lifted1750 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1749 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1749) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1746, max : lifted1748, unit : lifted1750}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted1751) + } + 8 => { + + let lifted1758 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1753 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1752 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1752) + } + _ => panic() + } + + let lifted1755 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1754 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1754) + } + _ => panic() + } + + let lifted1757 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1756 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1756) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1753, max : lifted1755, unit : lifted1757}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted1758) + } + 9 => { + + let lifted1765 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1760 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1759 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1759) + } + _ => panic() + } + + let lifted1762 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1761 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1761) + } + _ => panic() + } + + let lifted1764 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1763 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1763) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1760, max : lifted1762, unit : lifted1764}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted1765) + } + 10 => { + + let lifted1772 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1767 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1766 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1766) + } + _ => panic() + } + + let lifted1769 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1768 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1768) + } + _ => panic() + } + + let lifted1771 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1770 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1770) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1767, max : lifted1769, unit : lifted1771}) + } + _ => panic() + } - Option::Some(lifted2690) - } - _ => panic() - } - - let lifted2693 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2692 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::F32Type(lifted1772) + } + 11 => { - Option::Some(lifted2692) - } - _ => panic() - } - - let lifted2695 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2694 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2694) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2691, - max: lifted2693, - unit: lifted2695, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted2696) - } - 5 => { - let lifted2703 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2698 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2697 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1779 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2697) - } - _ => panic() - } - - let lifted2700 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2699 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1774 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted2699) - } - _ => panic() - } - - let lifted2702 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2701 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2701) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2698, - max: lifted2700, - unit: lifted2702, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted2703) - } - 6 => { - let lifted2710 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2705 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2704 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1773 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - Option::Some(lifted2704) - } - _ => panic() - } - - let lifted2707 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2706 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - Option::Some(lifted2706) - } - _ => panic() - } - - let lifted2709 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2708 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2708) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2705, - max: lifted2707, - unit: lifted2709, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted2710) - } - 7 => { - let lifted2717 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2712 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2711 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - Option::Some(lifted2711) - } - _ => panic() - } - - let lifted2714 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2713 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - Option::Some(lifted2713) - } - _ => panic() - } - - let lifted2716 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2715 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2715) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2712, - max: lifted2714, - unit: lifted2716, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted2717) - } - 8 => { - let lifted2724 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2719 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2718 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1773) + } + _ => panic() + } - Option::Some(lifted2718) - } - _ => panic() - } - - let lifted2721 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2720 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1776 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - Option::Some(lifted2720) - } - _ => panic() - } - - let lifted2723 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2722 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2722) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2719, - max: lifted2721, - unit: lifted2723, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted2724) - } - 9 => { - let lifted2731 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2726 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2725 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1775 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - Option::Some(lifted2725) - } - _ => panic() - } - - let lifted2728 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2727 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - Option::Some(lifted2727) - } - _ => panic() - } - - let lifted2730 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2729 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2729) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2726, - max: lifted2728, - unit: lifted2730, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted2731) - } - 10 => { - let lifted2738 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2733 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2732 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - Option::Some(lifted2732) - } - _ => panic() - } - - let lifted2735 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2734 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - Option::Some(lifted2734) - } - _ => panic() - } - - let lifted2737 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2736 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2736) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2733, - max: lifted2735, - unit: lifted2737, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2738) - } - 11 => { - let lifted2745 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2740 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2739 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1775) + } + _ => panic() + } - Option::Some(lifted2739) - } - _ => panic() - } - - let lifted2742 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2741 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1778 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - Option::Some(lifted2741) - } - _ => panic() - } - - let lifted2744 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2743 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2743) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2740, - max: lifted2742, - unit: lifted2744, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2745) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2760 : Array[@types.NamedFieldType] = [] - for index2761 = 0 - index2761 < mbt_ffi_load32(iter_base + 12) - index2761 = index2761 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2761 * 68 - - let result2746 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2748 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2747 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2747) - } - _ => panic() - } + let result1777 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - let array2750 : Array[String] = [] - for index2751 = 0 - index2751 < mbt_ffi_load32(iter_base + 28) - index2751 = index2751 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2751 * 8 + Option::Some(result1777) + } + _ => panic() + } - let result2749 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(@types.NumericRestrictions::{min : lifted1774, max : lifted1776, unit : lifted1778}) + } + _ => panic() + } - array2750.push(result2749) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.SchemaTypeBody::F64Type(lifted1779) + } + 12 => { - let array2753 : Array[String] = [] - for index2754 = 0 - index2754 < mbt_ffi_load32(iter_base + 36) - index2754 = index2754 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2754 * 8 + @types.SchemaTypeBody::CharType + } + 13 => { - let result2752 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::StringType + } + 14 => { - array2753.push(result2752) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2756 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2755 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2755) - } - _ => panic() - } + let array1794 : Array[@types.NamedFieldType] = []; + for index1795 = 0; index1795 < (mbt_ffi_load32((iter_base) + 12)); index1795 = index1795 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1795 * 68) - let lifted2759 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2758 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2757 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let result1780 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.Role::Other(result2757) - } - _ => panic() - } + let lifted1782 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted2758) - } - _ => panic() - } + let result1781 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array2760.push(@types.NamedFieldType::{ - name: result2746, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2748, - aliases: array2750, - examples: array2753, - deprecated: lifted2756, - role: lifted2759, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2760) - } - 15 => { - let array2777 : Array[@types.VariantCaseType] = [] - for index2778 = 0 - index2778 < mbt_ffi_load32(iter_base + 12) - index2778 = index2778 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2778 * 72 - - let result2762 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2763 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + Option::Some(result1781) + } + _ => panic() + } - let lifted2765 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2764 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2764) - } - _ => panic() - } + let array1784 : Array[String] = []; + for index1785 = 0; index1785 < (mbt_ffi_load32((iter_base) + 28)); index1785 = index1785 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1785 * 8) - let array2767 : Array[String] = [] - for index2768 = 0 - index2768 < mbt_ffi_load32(iter_base + 32) - index2768 = index2768 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2768 * 8 + let result1783 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result2766 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1784.push(result1783) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - array2767.push(result2766) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let array1787 : Array[String] = []; + for index1788 = 0; index1788 < (mbt_ffi_load32((iter_base) + 36)); index1788 = index1788 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index1788 * 8) - let array2770 : Array[String] = [] - for index2771 = 0 - index2771 < mbt_ffi_load32(iter_base + 40) - index2771 = index2771 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2771 * 8 + let result1786 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result2769 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1787.push(result1786) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) - array2770.push(result2769) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2773 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2772 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2772) - } - _ => panic() - } + let lifted1790 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - let lifted2776 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2775 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2774 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result1789 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - @types.Role::Other(result2774) - } - _ => panic() - } + Option::Some(result1789) + } + _ => panic() + } - Option::Some(lifted2775) - } - _ => panic() - } + let lifted1793 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { - array2777.push(@types.VariantCaseType::{ - name: result2762, - payload: lifted2763, - metadata: @types.MetadataEnvelope::{ - doc: lifted2765, - aliases: array2767, - examples: array2770, - deprecated: lifted2773, - role: lifted2776, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2777) - } - 16 => { - let array2780 : Array[String] = [] - for index2781 = 0 - index2781 < mbt_ffi_load32(iter_base + 12) - index2781 = index2781 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2781 * 8 - - let result2779 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2780.push(result2779) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2780) - } - 17 => { - let array2783 : Array[String] = [] - for index2784 = 0 - index2784 < mbt_ffi_load32(iter_base + 12) - index2784 = index2784 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2784 * 8 - - let result2782 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2783.push(result2782) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2783) - } - 18 => { - let array2785 : Array[Int] = [] - for index2786 = 0 - index2786 < mbt_ffi_load32(iter_base + 12) - index2786 = index2786 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2786 * 4 - - array2785.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2785) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2787 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2788 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2787, - err: lifted2788, - }) - } - 24 => { - let lifted2792 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2790 : Array[String] = [] - for index2791 = 0 - index2791 < mbt_ffi_load32(iter_base + 16) - index2791 = index2791 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2791 * 8 - - let result2789 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2790.push(result2789) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2790) - } - _ => panic() - } - - let lifted2793 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2794 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2796 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2795 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2795) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2792, - min_length: lifted2793, - max_length: lifted2794, - regex: lifted2796, - }) - } - 25 => { - let lifted2800 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2798 : Array[String] = [] - for index2799 = 0 - index2799 < mbt_ffi_load32(iter_base + 16) - index2799 = index2799 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2799 * 8 - - let result2797 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2798.push(result2797) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2798) - } - _ => panic() - } - - let lifted2801 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2802 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2800, - min_bytes: lifted2801, - max_bytes: lifted2802, - }) - } - 26 => { - let lifted2806 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2804 : Array[String] = [] - for index2805 = 0 - index2805 < mbt_ffi_load32(iter_base + 20) - index2805 = index2805 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2805 * 8 - - let result2803 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2804.push(result2803) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2804) - } - _ => panic() - } - - let lifted2810 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2808 : Array[String] = [] - for index2809 = 0 - index2809 < mbt_ffi_load32(iter_base + 32) - index2809 = index2809 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2809 * 8 - - let result2807 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2808.push(result2807) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2808) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2806, - allowed_extensions: lifted2810, - }) - } - 27 => { - let lifted2814 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2812 : Array[String] = [] - for index2813 = 0 - index2813 < mbt_ffi_load32(iter_base + 16) - index2813 = index2813 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2813 * 8 - - let result2811 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2812.push(result2811) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2812) - } - _ => panic() - } - - let lifted2818 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2816 : Array[String] = [] - for index2817 = 0 - index2817 < mbt_ffi_load32(iter_base + 28) - index2817 = index2817 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2817 * 8 - - let result2815 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2816.push(result2815) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2816) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2814, - allowed_hosts: lifted2818, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2819 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2821 : Array[String] = [] - for index2822 = 0 - index2822 < mbt_ffi_load32(iter_base + 20) - index2822 = index2822 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2822 * 8 - - let result2820 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2821.push(result2820) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2824 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2823 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2823, - }) - } - _ => panic() - } - - let lifted2826 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2825 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2825, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2819, - allowed_suffixes: array2821, - min: lifted2824, - max: lifted2826, - }) - } - 31 => { - let array2850 : Array[@types.UnionBranch] = [] - for index2851 = 0 - index2851 < mbt_ffi_load32(iter_base + 12) - index2851 = index2851 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2851 * 92 - - let result2827 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2836 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2828 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2828) - } - 1 => { - let result2829 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2829) - } - 2 => { - let result2830 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2830) - } - 3 => { - let result2831 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2831) - } - 4 => { - let result2832 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2834 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2833 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let lifted1792 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { - Option::Some(result2833) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2832, - literal: lifted2834, - }) - } - 5 => { - let result2835 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2835) - } - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - let lifted2838 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2837 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2837) - } - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - let array2840 : Array[String] = [] - for index2841 = 0 - index2841 < mbt_ffi_load32(iter_base + 52) - index2841 = index2841 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2841 * 8 + @types.Role::UnstructuredBinary + } + 3 => { - let result2839 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1791 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) - array2840.push(result2839) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.Role::Other(result1791) + } + _ => panic() + } - let array2843 : Array[String] = [] - for index2844 = 0 - index2844 < mbt_ffi_load32(iter_base + 60) - index2844 = index2844 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2844 * 8 + Option::Some(lifted1792) + } + _ => panic() + } - let result2842 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1794.push(@types.NamedFieldType::{name : result1780, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted1782, aliases : array1784, examples : array1787, deprecated : lifted1790, role : lifted1793}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array2843.push(result2842) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2846 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2845 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2845) - } - _ => panic() - } + @types.SchemaTypeBody::RecordType(array1794) + } + 15 => { - let lifted2849 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2848 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2847 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let array1811 : Array[@types.VariantCaseType] = []; + for index1812 = 0; index1812 < (mbt_ffi_load32((iter_base) + 12)); index1812 = index1812 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1812 * 72) - @types.Role::Other(result2847) - } - _ => panic() - } + let result1796 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2848) - } - _ => panic() - } + let lifted1797 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - array2850.push(@types.UnionBranch::{ - tag: result2827, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2836, - metadata: @types.MetadataEnvelope::{ - doc: lifted2838, - aliases: array2840, - examples: array2843, - deprecated: lifted2846, - role: lifted2849, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2850, - }) - } - 32 => { - let lifted2853 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2852 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2852) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2853, - }) - } - 33 => { - let lifted2855 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2854 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2854) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2855, - }) - } - 34 => { - let lifted2856 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2856) - } - 35 => { - let lifted2857 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2857) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let lifted2860 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2859 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2859) - } - _ => panic() - } + let lifted1799 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let array2862 : Array[String] = [] - for index2863 = 0 - index2863 < mbt_ffi_load32(iter_base + 104) - index2863 = index2863 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2863 * 8 + let result1798 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let result2861 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result1798) + } + _ => panic() + } - array2862.push(result2861) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let array1801 : Array[String] = []; + for index1802 = 0; index1802 < (mbt_ffi_load32((iter_base) + 32)); index1802 = index1802 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1802 * 8) - let array2865 : Array[String] = [] - for index2866 = 0 - index2866 < mbt_ffi_load32(iter_base + 112) - index2866 = index2866 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2866 * 8 + let result1800 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result2864 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array1801.push(result1800) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - array2865.push(result2864) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2868 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2867 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2867) - } - _ => panic() - } + let array1804 : Array[String] = []; + for index1805 = 0; index1805 < (mbt_ffi_load32((iter_base) + 40)); index1805 = index1805 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index1805 * 8) - let lifted2871 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2870 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2869 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2869) - } - _ => panic() - } + let result1803 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2870) - } - _ => panic() - } + array1804.push(result1803) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - array2872.push(@types.SchemaTypeNode::{ - body: lifted2858, - metadata: @types.MetadataEnvelope::{ - doc: lifted2860, - aliases: array2862, - examples: array2865, - deprecated: lifted2868, - role: lifted2871, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array2877 : Array[@types.SchemaTypeDef] = [] - for index2878 = 0 - index2878 < mbt_ffi_load32(iter_base + 60) - index2878 = index2878 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2878 * 24 - - let result2874 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2876 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2875 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2875) - } - _ => panic() - } + let lifted1807 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { - array2877.push(@types.SchemaTypeDef::{ - id: result2874, - name: lifted2876, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array2908 : Array[@types.SchemaValueNode] = [] - for index2909 = 0 - index2909 < mbt_ffi_load32(iter_base + 72) - index2909 = index2909 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + - index2909 * 32 - - let lifted2907 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2879 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2879) - } - 13 => { - let array2880 : Array[Int] = [] - for index2881 = 0 - index2881 < mbt_ffi_load32(iter_base + 12) - index2881 = index2881 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2881 * 4 - - array2880.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2880) - } - 14 => { - let lifted2882 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2882, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2883 : Array[Bool] = [] - for index2884 = 0 - index2884 < mbt_ffi_load32(iter_base + 12) - index2884 = index2884 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2884 * 1 - - array2883.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2883) - } - 17 => { - let array2885 : Array[Int] = [] - for index2886 = 0 - index2886 < mbt_ffi_load32(iter_base + 12) - index2886 = index2886 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2886 * 4 - - array2885.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2885) - } - 18 => { - let array2887 : Array[Int] = [] - for index2888 = 0 - index2888 < mbt_ffi_load32(iter_base + 12) - index2888 = index2888 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2888 * 4 - - array2887.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2887) - } - 19 => { - let array2889 : Array[Int] = [] - for index2890 = 0 - index2890 < mbt_ffi_load32(iter_base + 12) - index2890 = index2890 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2890 * 4 - - array2889.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2889) - } - 20 => { - let array2891 : Array[@types.MapEntry] = [] - for index2892 = 0 - index2892 < mbt_ffi_load32(iter_base + 12) - index2892 = index2892 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2892 * 8 - - array2891.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2891) - } - 21 => { - let lifted2893 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2893) - } - 22 => { - let lifted2896 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2894 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2894) - } - 1 => { - let lifted2895 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2895) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2896) - } - 23 => { - let result2897 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2899 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2898 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2898) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2897, - language: lifted2899, - }) - } - 24 => { - let result2900 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2902 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2901 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2901) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2900, - mime_type: lifted2902, - }) - } - 25 => { - let result2903 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2903) - } - 26 => { - let result2904 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2904) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2905 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2905, - }) - } - 30 => { - let result2906 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2906, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let result1806 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - array2908.push(lifted2907) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - let result2910 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 80), - mbt_ffi_load32(iter_base + 84), - ) - - let array2912 : Array[String] = [] - for index2913 = 0 - index2913 < mbt_ffi_load32(iter_base + 92) - index2913 = index2913 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index2913 * 8 - - let result2911 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2912.push(result2911) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - let array2927 : Array[Array[SpanData]] = [] - for index2928 = 0 - index2928 < mbt_ffi_load32(iter_base + 100) - index2928 = index2928 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index2928 * 8 - - let array2925 : Array[SpanData] = [] - for index2926 = 0 - index2926 < mbt_ffi_load32(iter_base + 4) - index2926 = index2926 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index2926 * 80 - - let lifted2924 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2914 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2916 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2915 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2915) - } - _ => panic() - } + Option::Some(result1806) + } + _ => panic() + } - let lifted2917 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1810 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - let array2921 : Array[@context.Attribute] = [] - for index2922 = 0 - index2922 < mbt_ffi_load32(iter_base + 68) - index2922 = index2922 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index2922 * 20 - - let result2918 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2920 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2919 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2919) - } - _ => panic() - } - - array2921.push(@context.Attribute::{ - key: result2918, - value: lifted2920, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result2914, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted2916, - linked_context: lifted2917, - attributes: array2921, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result2923 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result2923, - }) - } - _ => panic() - } - - array2925.push(lifted2924) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array2927.push(array2925) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{ - idempotency_key: result2674, - method_name: result2675, - function_input: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2872, - defs: array2877, - root: mbt_ffi_load32(iter_base + 64), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2908, - root: mbt_ffi_load32(iter_base + 76), - }, - }, - trace_id: result2910, - trace_states: array2912, - invocation_context: array2927, - }) - } - 2 => AgentInvocation::SaveSnapshot - 3 => { - let result2929 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2930 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{ - snapshot: SnapshotData::{ - data: result2929, - mime_type: result2930, - }, - }) - } - 4 => { - let result2931 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{ - idempotency_key: result2931, - }) - } - 5 => - AgentInvocation::ManualUpdate(ManualUpdateParameters::{ - target_revision: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - _ => panic() - } + let lifted1809 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { - PublicOplogEntry::PendingAgentInvocation(PendingAgentInvocationParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - invocation: lifted2932, - }) - } - 15 => { - let lifted2935 = match mbt_ffi_load8_u(iter_base + 32) { - 0 => UpdateDescription::AutoUpdate - 1 => { - let result2933 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - let result2934 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - UpdateDescription::SnapshotBased(@host.Snapshot::{ - payload: result2933, - mime_type: result2934, - }) - } - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - PublicOplogEntry::PendingUpdate(PendingUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - description: lifted2935, - }) - } - 16 => { - let array2942 : Array[PluginInstallationDescription] = [] - for index2943 = 0 - index2943 < mbt_ffi_load32(iter_base + 44) - index2943 = index2943 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 40) + index2943 * 48 - - let result2936 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - let result2937 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let array2940 : Array[(String, String)] = [] - for index2941 = 0 - index2941 < mbt_ffi_load32(iter_base + 40) - index2941 = index2941 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index2941 * 16 - - let result2938 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2939 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2940.push((result2938, result2939)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - array2942.push(PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 0).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 16), - plugin_name: result2936, - plugin_version: result2937, - parameters: array2940, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 40)) - - PublicOplogEntry::SuccessfulUpdate(SuccessfulUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - new_component_size: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - new_active_plugins: array2942, - }) - } - 17 => { - let lifted2945 : String? = match mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2944 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2944) - } - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - PublicOplogEntry::FailedUpdate(FailedUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - details: lifted2945, - }) - } - 18 => - PublicOplogEntry::GrowMemory(GrowMemoryParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - delta: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 19 => - PublicOplogEntry::FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - delta: mbt_ffi_load64(iter_base + 24), - }) - 20 => { - let result2946 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2947 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - PublicOplogEntry::CreateResource(CreateResourceParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - id: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - name: result2946, - owner: result2947, - }) - } - 21 => { - let result2948 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2949 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - PublicOplogEntry::DropResource(DropResourceParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - id: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - name: result2948, - owner: result2949, - }) - } - 22 => { - let result2950 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let result2951 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - PublicOplogEntry::Log(LogParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - level: LogLevel::from(mbt_ffi_load8_u(iter_base + 24)), - context: result2950, - message: result2951, - }) - } - 23 => - PublicOplogEntry::Restart(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 24 => { - let result2952 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - let result2953 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let array2956 : Array[(String, String)] = [] - for index2957 = 0 - index2957 < mbt_ffi_load32(iter_base + 64) - index2957 = index2957 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + index2957 * 16 - - let result2954 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2955 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2956.push((result2954, result2955)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - PublicOplogEntry::ActivatePlugin(ActivatePluginParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 40), - plugin_name: result2952, - plugin_version: result2953, - parameters: array2956, - }, - }) - } - 25 => { - let result2958 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - let result2959 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let array2962 : Array[(String, String)] = [] - for index2963 = 0 - index2963 < mbt_ffi_load32(iter_base + 64) - index2963 = index2963 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + index2963 * 16 - - let result2960 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2961 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2962.push((result2960, result2961)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - PublicOplogEntry::DeactivatePlugin(DeactivatePluginParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 40), - plugin_name: result2958, - plugin_version: result2959, - parameters: array2962, - }, - }) - } - 26 => - PublicOplogEntry::Revert(RevertParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - dropped_region: OplogRegion::{ - start: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - end: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }) - 27 => { - let result2964 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::CancelPendingInvocation(CancelPendingInvocationParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - idempotency_key: result2964, - }) - } - 28 => { - let result2965 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let lifted2967 : String? = match mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2966 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2966) - } - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - let lifted2969 : String? = match mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2968 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2968) - } - _ => panic() - } + let result1808 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) - let array2973 : Array[@context.Attribute] = [] - for index2974 = 0 - index2974 < mbt_ffi_load32(iter_base + 60) - index2974 = index2974 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + index2974 * 20 - - let result2970 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2972 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2971 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2971) - } - _ => panic() - } - - array2973.push(@context.Attribute::{ - key: result2970, - value: lifted2972, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - PublicOplogEntry::StartSpan(StartSpanParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - span_id: result2965, - parent: lifted2967, - linked_context_id: lifted2969, - attributes: array2973, - }) - } - 29 => { - let result2975 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::FinishSpan(FinishSpanParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - span_id: result2975, - }) - } - 30 => { - let result2976 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let result2977 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let lifted2979 = match mbt_ffi_load8_u(iter_base + 40) { - 0 => { - let result2978 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - @context.AttributeValue::String(result2978) - } - _ => panic() - } + @types.Role::Other(result1808) + } + _ => panic() + } - PublicOplogEntry::SetSpanAttribute(SetSpanAttributeParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - span_id: result2976, - key: result2977, - value: lifted2979, - }) - } - 31 => { - let result2980 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::BeginRemoteTransaction(BeginRemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - transaction_id: result2980, - }) - } - 32 => - PublicOplogEntry::PreCommitRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 33 => - PublicOplogEntry::PreRollbackRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 34 => - PublicOplogEntry::CommittedRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 35 => - PublicOplogEntry::RolledBackRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 36 => { - let result2981 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let result2982 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - PublicOplogEntry::Snapshot(SnapshotParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - data: SnapshotData::{ data: result2981, mime_type: result2982 }, - }) - } - 37 => { - let result2983 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - let result2984 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let array2987 : Array[(String, String)] = [] - for index2988 = 0 - index2988 < mbt_ffi_load32(iter_base + 64) - index2988 = index2988 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + index2988 * 16 - - let result2985 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2986 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2987.push((result2985, result2986)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - let result2989 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 88), - mbt_ffi_load32(iter_base + 92), - ) - - PublicOplogEntry::OplogProcessorCheckpoint(OplogProcessorCheckpointParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 40), - plugin_name: result2983, - plugin_version: result2984, - parameters: array2987, - }, - target_agent_id: @types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 72).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - }, - }, - agent_id: result2989, - }, - confirmed_up_to: mbt_ffi_load64(iter_base + 96).reinterpret_as_uint64(), - sending_up_to: mbt_ffi_load64(iter_base + 104).reinterpret_as_uint64(), - last_batch_start: mbt_ffi_load64(iter_base + 112).reinterpret_as_uint64(), - }) - } - 38 => { - let result2990 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let array3022 : Array[@retry.PredicateNode] = [] - for index3023 = 0 - index3023 < mbt_ffi_load32(iter_base + 40) - index3023 = index3023 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index3023 * 32 - - let lifted3021 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2991 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2993 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2992 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2992) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + Option::Some(lifted1809) + } + _ => panic() + } - @retry.PredicateNode::PropEq(@retry.PropertyComparison::{ - property_name: result2991, - value: lifted2993, - }) - } - 1 => { - let result2994 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2996 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2995 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2995) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array1811.push(@types.VariantCaseType::{name : result1796, payload : lifted1797, metadata : @types.MetadataEnvelope::{doc : lifted1799, aliases : array1801, examples : array1804, deprecated : lifted1807, role : lifted1810}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{ - property_name: result2994, - value: lifted2996, - }) - } - 2 => { - let result2997 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2999 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2998 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2998) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaTypeBody::VariantType(array1811) + } + 16 => { - @retry.PredicateNode::PropGt(@retry.PropertyComparison::{ - property_name: result2997, - value: lifted2999, - }) - } - 3 => { - let result3000 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3002 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3001 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3001) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array1814 : Array[String] = []; + for index1815 = 0; index1815 < (mbt_ffi_load32((iter_base) + 12)); index1815 = index1815 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1815 * 8) - @retry.PredicateNode::PropGte(@retry.PropertyComparison::{ - property_name: result3000, - value: lifted3002, - }) - } - 4 => { - let result3003 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3005 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3004 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3004) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let result1813 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @retry.PredicateNode::PropLt(@retry.PropertyComparison::{ - property_name: result3003, - value: lifted3005, - }) - } - 5 => { - let result3006 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3008 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3007 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3007) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array1814.push(result1813) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @retry.PredicateNode::PropLte(@retry.PropertyComparison::{ - property_name: result3006, - value: lifted3008, - }) - } - 6 => { - let result3009 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateNode::PropExists(result3009) - } - 7 => { - let result3010 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array3013 : Array[@retry.PredicateValue] = [] - for index3014 = 0 - index3014 < mbt_ffi_load32(iter_base + 20) - index3014 = index3014 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index3014 * 16 - - let lifted3012 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result3011 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateValue::Text(result3011) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 8), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - _ => panic() - } - - array3013.push(lifted3012) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{ - property_name: result3010, - values: array3013, - }) - } - 8 => { - let result3015 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result3016 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{ - property_name: result3015, - pattern: result3016, - }) - } - 9 => { - let result3017 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result3018 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{ - property_name: result3017, - pattern: result3018, - }) - } - 10 => { - let result3019 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result3020 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropContains(@retry.PropertyPattern::{ - property_name: result3019, - pattern: result3020, - }) - } - 11 => - @retry.PredicateNode::PredAnd( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PredicateNode::PredOr( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PredicateNode::PredNot(mbt_ffi_load32(iter_base + 8)) - 14 => @retry.PredicateNode::PredTrue - 15 => @retry.PredicateNode::PredFalse - _ => panic() - } - - array3022.push(lifted3021) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array3058 : Array[@retry.PolicyNode] = [] - for index3059 = 0 - index3059 < mbt_ffi_load32(iter_base + 48) - index3059 = index3059 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index3059 * 32 - - let lifted3057 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @retry.PolicyNode::Periodic( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 1 => - @retry.PolicyNode::Exponential(@retry.ExponentialConfig::{ - base_delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - factor: mbt_ffi_loadf64(iter_base + 16), - }) - 2 => - @retry.PolicyNode::Fibonacci(@retry.FibonacciConfig::{ - first: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - second: mbt_ffi_load64(iter_base + 16).reinterpret_as_uint64(), - }) - 3 => @retry.PolicyNode::Immediate - 4 => @retry.PolicyNode::Never - 5 => - @retry.PolicyNode::CountBox(@retry.CountBoxConfig::{ - max_retries: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - inner: mbt_ffi_load32(iter_base + 12), - }) - 6 => - @retry.PolicyNode::TimeBox(@retry.TimeBoxConfig::{ - limit: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 16), - }) - 7 => - @retry.PolicyNode::ClampDelay(@retry.ClampConfig::{ - min_delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - max_delay: mbt_ffi_load64(iter_base + 16).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 24), - }) - 8 => - @retry.PolicyNode::AddDelay(@retry.AddDelayConfig::{ - delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 16), - }) - 9 => - @retry.PolicyNode::Jitter(@retry.JitterConfig::{ - factor: mbt_ffi_loadf64(iter_base + 8), - inner: mbt_ffi_load32(iter_base + 16), - }) - 10 => { - let array3055 : Array[@retry.PredicateNode] = [] - for index3056 = 0 - index3056 < mbt_ffi_load32(iter_base + 12) - index3056 = index3056 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3056 * 32 - - let lifted3054 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result3024 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3026 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3025 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3025) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaTypeBody::EnumType(array1814) + } + 17 => { - @retry.PredicateNode::PropEq(@retry.PropertyComparison::{ - property_name: result3024, - value: lifted3026, - }) - } - 1 => { - let result3027 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3029 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3028 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3028) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array1817 : Array[String] = []; + for index1818 = 0; index1818 < (mbt_ffi_load32((iter_base) + 12)); index1818 = index1818 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1818 * 8) - @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{ - property_name: result3027, - value: lifted3029, - }) - } - 2 => { - let result3030 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3032 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3031 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3031) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let result1816 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @retry.PredicateNode::PropGt(@retry.PropertyComparison::{ - property_name: result3030, - value: lifted3032, - }) - } - 3 => { - let result3033 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3035 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3034 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3034) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array1817.push(result1816) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @retry.PredicateNode::PropGte(@retry.PropertyComparison::{ - property_name: result3033, - value: lifted3035, - }) - } - 4 => { - let result3036 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3038 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3037 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3037) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaTypeBody::FlagsType(array1817) + } + 18 => { - @retry.PredicateNode::PropLt(@retry.PropertyComparison::{ - property_name: result3036, - value: lifted3038, - }) - } - 5 => { - let result3039 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3041 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result3040 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result3040) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array1819 : Array[Int] = []; + for index1820 = 0; index1820 < (mbt_ffi_load32((iter_base) + 12)); index1820 = index1820 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1820 * 4) - @retry.PredicateNode::PropLte(@retry.PropertyComparison::{ - property_name: result3039, - value: lifted3041, - }) - } - 6 => { - let result3042 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateNode::PropExists(result3042) - } - 7 => { - let result3043 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array3046 : Array[@retry.PredicateValue] = [] - for index3047 = 0 - index3047 < mbt_ffi_load32(iter_base + 20) - index3047 = index3047 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index3047 * 16 - - let lifted3045 = match - mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result3044 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateValue::Text(result3044) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 8), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - _ => panic() - } - - array3046.push(lifted3045) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{ - property_name: result3043, - values: array3046, - }) - } - 8 => { - let result3048 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result3049 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{ - property_name: result3048, - pattern: result3049, - }) - } - 9 => { - let result3050 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result3051 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{ - property_name: result3050, - pattern: result3051, - }) - } - 10 => { - let result3052 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result3053 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropContains(@retry.PropertyPattern::{ - property_name: result3052, - pattern: result3053, - }) - } - 11 => - @retry.PredicateNode::PredAnd( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PredicateNode::PredOr( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PredicateNode::PredNot( - mbt_ffi_load32(iter_base + 8), - ) - 14 => @retry.PredicateNode::PredTrue - 15 => @retry.PredicateNode::PredFalse - _ => panic() - } - - array3055.push(lifted3054) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @retry.PolicyNode::FilteredOn(@retry.FilteredConfig::{ - predicate: @retry.RetryPredicate::{ nodes: array3055 }, - inner: mbt_ffi_load32(iter_base + 16), - }) - } - 11 => - @retry.PolicyNode::AndThen( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PolicyNode::PolicyUnion( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PolicyNode::PolicyIntersect( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - _ => panic() - } - - array3058.push(lifted3057) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - PublicOplogEntry::SetRetryPolicy(SetRetryPolicyParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - policy: @retry.NamedRetryPolicy::{ - name: result2990, - priority: mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - predicate: @retry.RetryPredicate::{ nodes: array3022 }, - policy: @retry.RetryPolicy::{ nodes: array3058 }, - }, - }) - } - 39 => { - let result3060 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::RemoveRetryPolicy(RemoveRetryPolicyParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - name: result3060, - }) - } - 40 => { - let lifted3061 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => - QueuedCardEvent::Install(QueuedCardEventInstall::{ - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - }) - 1 => - QueuedCardEvent::Revoke(QueuedCardEventRevoke::{ - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - }) - _ => panic() - } + array1819.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - PublicOplogEntry::CardEventQueued(CardEventQueuedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - event: lifted3061, - }) - } - 41 => { - let lifted3062 : UInt64? = match mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::TupleType(array1819) + } + 19 => { - PublicOplogEntry::CardInstalled(CardInstalledParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - queued_event_index: lifted3062, - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 48).reinterpret_as_uint64(), - }, - }, - }) - } - 42 => - PublicOplogEntry::CardInstallFailed(CardInstallFailedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - queued_event_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - reason: CardInstallFailure::from(mbt_ffi_load8_u(iter_base + 48)), - }) - 43 => - PublicOplogEntry::CardRevoked(CardRevokedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - queued_event_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - }) - 44 => - PublicOplogEntry::CardExpired(CardExpiredParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - }) - 45 => { - let array3259 : Array[@types.SchemaTypeNode] = [] - for index3260 = 0 - index3260 < mbt_ffi_load32(iter_base + 40) - index3260 = index3260 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index3260 * 144 - - let lifted3245 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType(mbt_ffi_load32(iter_base + 8)) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted3069 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3064 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3063 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3063) - } - _ => panic() - } - - let lifted3066 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3065 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3065) - } - _ => panic() - } - - let lifted3068 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3067 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3067) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3064, - max: lifted3066, - unit: lifted3068, - }) - } - _ => panic() - } + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { - @types.SchemaTypeBody::S8Type(lifted3069) - } - 3 => { - let lifted3076 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3071 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3070 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3070) - } - _ => panic() - } - - let lifted3073 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3072 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3072) - } - _ => panic() - } - - let lifted3075 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3074 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3074) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3071, - max: lifted3073, - unit: lifted3075, - }) - } - _ => panic() - } + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { - @types.SchemaTypeBody::S16Type(lifted3076) - } - 4 => { - let lifted3083 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3078 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3077 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3077) - } - _ => panic() - } - - let lifted3080 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3079 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3079) - } - _ => panic() - } - - let lifted3082 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3081 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3081) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3078, - max: lifted3080, - unit: lifted3082, - }) - } - _ => panic() - } + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { - @types.SchemaTypeBody::S32Type(lifted3083) - } - 5 => { - let lifted3090 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3085 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3084 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3084) - } - _ => panic() - } - - let lifted3087 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3086 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3086) - } - _ => panic() - } - - let lifted3089 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3088 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3088) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3085, - max: lifted3087, - unit: lifted3089, - }) - } - _ => panic() - } + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { - @types.SchemaTypeBody::S64Type(lifted3090) - } - 6 => { - let lifted3097 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3092 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3091 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3091) - } - _ => panic() - } - - let lifted3094 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3093 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3093) - } - _ => panic() - } - - let lifted3096 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3095 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3095) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3092, - max: lifted3094, - unit: lifted3096, - }) - } - _ => panic() - } + let lifted1821 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::U8Type(lifted3097) - } - 7 => { - let lifted3104 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3099 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3098 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3098) - } - _ => panic() - } - - let lifted3101 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3100 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3100) - } - _ => panic() - } - - let lifted3103 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3102 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3102) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3099, - max: lifted3101, - unit: lifted3103, - }) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - @types.SchemaTypeBody::U16Type(lifted3104) - } - 8 => { - let lifted3111 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3106 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3105 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3105) - } - _ => panic() - } - - let lifted3108 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3107 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3107) - } - _ => panic() - } - - let lifted3110 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3109 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3109) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3106, - max: lifted3108, - unit: lifted3110, - }) - } - _ => panic() - } + let lifted1822 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::U32Type(lifted3111) - } - 9 => { - let lifted3118 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3113 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3112 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3112) - } - _ => panic() - } - - let lifted3115 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3114 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3114) - } - _ => panic() - } - - let lifted3117 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3116 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3116) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3113, - max: lifted3115, - unit: lifted3117, - }) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } - @types.SchemaTypeBody::U64Type(lifted3118) - } - 10 => { - let lifted3125 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3120 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3119 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3119) - } - _ => panic() - } - - let lifted3122 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3121 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3121) - } - _ => panic() - } - - let lifted3124 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3123 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3123) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3120, - max: lifted3122, - unit: lifted3124, - }) - } - _ => panic() - } + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted1821, err : lifted1822}) + } + 24 => { - @types.SchemaTypeBody::F32Type(lifted3125) - } - 11 => { - let lifted3132 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted3127 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted3126 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3126) - } - _ => panic() - } - - let lifted3129 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted3128 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted3128) - } - _ => panic() - } - - let lifted3131 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3130 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3130) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted3127, - max: lifted3129, - unit: lifted3131, - }) - } - _ => panic() - } + let lifted1826 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::F64Type(lifted3132) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array3147 : Array[@types.NamedFieldType] = [] - for index3148 = 0 - index3148 < mbt_ffi_load32(iter_base + 12) - index3148 = index3148 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3148 * 68 - - let result3133 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted3135 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result3134 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result3134) - } - _ => panic() - } - - let array3137 : Array[String] = [] - for index3138 = 0 - index3138 < mbt_ffi_load32(iter_base + 28) - index3138 = index3138 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index3138 * 8 - - let result3136 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3137.push(result3136) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - let array3140 : Array[String] = [] - for index3141 = 0 - index3141 < mbt_ffi_load32(iter_base + 36) - index3141 = index3141 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index3141 * 8 - - let result3139 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3140.push(result3139) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted3143 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result3142 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result3142) - } - _ => panic() - } - - let lifted3146 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted3145 = match mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result3144 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - @types.Role::Other(result3144) - } - _ => panic() - } + let array1824 : Array[String] = []; + for index1825 = 0; index1825 < (mbt_ffi_load32((iter_base) + 16)); index1825 = index1825 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1825 * 8) - Option::Some(lifted3145) - } - _ => panic() - } - - array3147.push(@types.NamedFieldType::{ - name: result3133, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted3135, - aliases: array3137, - examples: array3140, - deprecated: lifted3143, - role: lifted3146, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array3147) - } - 15 => { - let array3164 : Array[@types.VariantCaseType] = [] - for index3165 = 0 - index3165 < mbt_ffi_load32(iter_base + 12) - index3165 = index3165 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3165 * 72 - - let result3149 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted3150 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted3152 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result3151 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result3151) - } - _ => panic() - } - - let array3154 : Array[String] = [] - for index3155 = 0 - index3155 < mbt_ffi_load32(iter_base + 32) - index3155 = index3155 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index3155 * 8 - - let result3153 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3154.push(result3153) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array3157 : Array[String] = [] - for index3158 = 0 - index3158 < mbt_ffi_load32(iter_base + 40) - index3158 = index3158 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index3158 * 8 - - let result3156 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3157.push(result3156) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted3160 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result3159 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result3159) - } - _ => panic() - } - - let lifted3163 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted3162 = match mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result3161 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - @types.Role::Other(result3161) - } - _ => panic() - } + let result1823 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted3162) - } - _ => panic() - } - - array3164.push(@types.VariantCaseType::{ - name: result3149, - payload: lifted3150, - metadata: @types.MetadataEnvelope::{ - doc: lifted3152, - aliases: array3154, - examples: array3157, - deprecated: lifted3160, - role: lifted3163, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array3164) - } - 16 => { - let array3167 : Array[String] = [] - for index3168 = 0 - index3168 < mbt_ffi_load32(iter_base + 12) - index3168 = index3168 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3168 * 8 - - let result3166 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3167.push(result3166) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array3167) - } - 17 => { - let array3170 : Array[String] = [] - for index3171 = 0 - index3171 < mbt_ffi_load32(iter_base + 12) - index3171 = index3171 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3171 * 8 - - let result3169 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3170.push(result3169) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array3170) - } - 18 => { - let array3172 : Array[Int] = [] - for index3173 = 0 - index3173 < mbt_ffi_load32(iter_base + 12) - index3173 = index3173 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3173 * 4 - - array3172.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array3172) - } - 19 => - @types.SchemaTypeBody::ListType(mbt_ffi_load32(iter_base + 8)) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted3174 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + array1824.push(result1823) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - let lifted3175 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } + Option::Some(array1824) + } + _ => panic() + } - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted3174, - err: lifted3175, - }) - } - 24 => { - let lifted3179 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array3177 : Array[String] = [] - for index3178 = 0 - index3178 < mbt_ffi_load32(iter_base + 16) - index3178 = index3178 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index3178 * 8 - - let result3176 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3177.push(result3176) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array3177) - } - _ => panic() - } + let lifted1827 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - let lifted3180 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - let lifted3181 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } + let lifted1828 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - let lifted3183 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result3182 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result3182) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted3179, - min_length: lifted3180, - max_length: lifted3181, - regex: lifted3183, - }) - } - 25 => { - let lifted3187 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array3185 : Array[String] = [] - for index3186 = 0 - index3186 < mbt_ffi_load32(iter_base + 16) - index3186 = index3186 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index3186 * 8 - - let result3184 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3185.push(result3184) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array3185) - } - _ => panic() - } + let lifted1830 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - let lifted3188 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } + let result1829 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let lifted3189 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } + Option::Some(result1829) + } + _ => panic() + } - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted3187, - min_bytes: lifted3188, - max_bytes: lifted3189, - }) - } - 26 => { - let lifted3193 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array3191 : Array[String] = [] - for index3192 = 0 - index3192 < mbt_ffi_load32(iter_base + 20) - index3192 = index3192 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index3192 * 8 - - let result3190 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3191.push(result3190) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array3191) - } - _ => panic() - } + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted1826, min_length : lifted1827, max_length : lifted1828, regex : lifted1830}) + } + 25 => { - let lifted3197 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array3195 : Array[String] = [] - for index3196 = 0 - index3196 < mbt_ffi_load32(iter_base + 32) - index3196 = index3196 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index3196 * 8 - - let result3194 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3195.push(result3194) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array3195) - } - _ => panic() - } + let lifted1834 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from(mbt_ffi_load8_u(iter_base + 9)), - allowed_mime_types: lifted3193, - allowed_extensions: lifted3197, - }) - } - 27 => { - let lifted3201 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array3199 : Array[String] = [] - for index3200 = 0 - index3200 < mbt_ffi_load32(iter_base + 16) - index3200 = index3200 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index3200 * 8 - - let result3198 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3199.push(result3198) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array3199) - } - _ => panic() - } + let array1832 : Array[String] = []; + for index1833 = 0; index1833 < (mbt_ffi_load32((iter_base) + 16)); index1833 = index1833 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1833 * 8) - let lifted3205 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array3203 : Array[String] = [] - for index3204 = 0 - index3204 < mbt_ffi_load32(iter_base + 28) - index3204 = index3204 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index3204 * 8 - - let result3202 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3203.push(result3202) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array3203) - } - _ => panic() - } + let result1831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted3201, - allowed_hosts: lifted3205, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result3206 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array3208 : Array[String] = [] - for index3209 = 0 - index3209 < mbt_ffi_load32(iter_base + 20) - index3209 = index3209 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index3209 * 8 - - let result3207 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3208.push(result3207) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted3211 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result3210 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result3210, - }) - } - _ => panic() - } + array1832.push(result1831) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - let lifted3213 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result3212 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result3212, - }) - } - _ => panic() - } + Option::Some(array1832) + } + _ => panic() + } - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result3206, - allowed_suffixes: array3208, - min: lifted3211, - max: lifted3213, - }) - } - 31 => { - let array3237 : Array[@types.UnionBranch] = [] - for index3238 = 0 - index3238 < mbt_ffi_load32(iter_base + 12) - index3238 = index3238 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3238 * 92 - - let result3214 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted3223 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result3215 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result3215) - } - 1 => { - let result3216 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result3216) - } - 2 => { - let result3217 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result3217) - } - 3 => { - let result3218 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result3218) - } - 4 => { - let result3219 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted3221 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result3220 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - Option::Some(result3220) - } - _ => panic() - } + let lifted1835 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result3219, - literal: lifted3221, - }) - } - 5 => { - let result3222 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result3222) - } - _ => panic() - } - - let lifted3225 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result3224 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result3224) - } - _ => panic() - } - - let array3227 : Array[String] = [] - for index3228 = 0 - index3228 < mbt_ffi_load32(iter_base + 52) - index3228 = index3228 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index3228 * 8 - - let result3226 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3227.push(result3226) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array3230 : Array[String] = [] - for index3231 = 0 - index3231 < mbt_ffi_load32(iter_base + 60) - index3231 = index3231 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index3231 * 8 - - let result3229 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3230.push(result3229) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted3233 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result3232 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result3232) - } - _ => panic() - } - - let lifted3236 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted3235 = match mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result3234 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) - - @types.Role::Other(result3234) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted3235) - } - _ => panic() - } - - array3237.push(@types.UnionBranch::{ - tag: result3214, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted3223, - metadata: @types.MetadataEnvelope::{ - doc: lifted3225, - aliases: array3227, - examples: array3230, - deprecated: lifted3233, - role: lifted3236, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array3237, - }) - } - 32 => { - let lifted3240 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result3239 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result3239) - } - _ => panic() - } + let lifted1836 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted3240, - }) - } - 33 => { - let lifted3242 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result3241 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result3241) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted3242, - }) - } - 34 => { - let lifted3243 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted1834, min_bytes : lifted1835, max_bytes : lifted1836}) + } + 26 => { - @types.SchemaTypeBody::FutureType(lifted3243) - } - 35 => { - let lifted3244 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let lifted1840 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::StreamType(lifted3244) - } - _ => panic() - } - - let lifted3247 : String? = match mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result3246 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result3246) - } - _ => panic() - } - - let array3249 : Array[String] = [] - for index3250 = 0 - index3250 < mbt_ffi_load32(iter_base + 104) - index3250 = index3250 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + index3250 * 8 - - let result3248 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3249.push(result3248) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array3252 : Array[String] = [] - for index3253 = 0 - index3253 < mbt_ffi_load32(iter_base + 112) - index3253 = index3253 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + index3253 * 8 - - let result3251 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array3252.push(result3251) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted3255 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result3254 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result3254) - } - _ => panic() - } - - let lifted3258 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted3257 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result3256 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result3256) - } - _ => panic() - } + let array1838 : Array[String] = []; + for index1839 = 0; index1839 < (mbt_ffi_load32((iter_base) + 20)); index1839 = index1839 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1839 * 8) - Option::Some(lifted3257) - } - _ => panic() - } - - array3259.push(@types.SchemaTypeNode::{ - body: lifted3245, - metadata: @types.MetadataEnvelope::{ - doc: lifted3247, - aliases: array3249, - examples: array3252, - deprecated: lifted3255, - role: lifted3258, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array3264 : Array[@types.SchemaTypeDef] = [] - for index3265 = 0 - index3265 < mbt_ffi_load32(iter_base + 48) - index3265 = index3265 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index3265 * 24 - - let result3261 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted3263 : String? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result3262 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result3262) - } - _ => panic() - } - - array3264.push(@types.SchemaTypeDef::{ - id: result3261, - name: lifted3263, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array3295 : Array[@types.SchemaValueNode] = [] - for index3296 = 0 - index3296 < mbt_ffi_load32(iter_base + 60) - index3296 = index3296 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + index3296 * 32 - - let lifted3294 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value(mbt_ffi_load8(iter_base + 8)) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result3266 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result3266) - } - 13 => { - let array3267 : Array[Int] = [] - for index3268 = 0 - index3268 < mbt_ffi_load32(iter_base + 12) - index3268 = index3268 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3268 * 4 - - array3267.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array3267) - } - 14 => { - let lifted3269 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + let result1837 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted3269, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array3270 : Array[Bool] = [] - for index3271 = 0 - index3271 < mbt_ffi_load32(iter_base + 12) - index3271 = index3271 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3271 * 1 - - array3270.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array3270) - } - 17 => { - let array3272 : Array[Int] = [] - for index3273 = 0 - index3273 < mbt_ffi_load32(iter_base + 12) - index3273 = index3273 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3273 * 4 - - array3272.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array3272) - } - 18 => { - let array3274 : Array[Int] = [] - for index3275 = 0 - index3275 < mbt_ffi_load32(iter_base + 12) - index3275 = index3275 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3275 * 4 - - array3274.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array3274) - } - 19 => { - let array3276 : Array[Int] = [] - for index3277 = 0 - index3277 < mbt_ffi_load32(iter_base + 12) - index3277 = index3277 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3277 * 4 - - array3276.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array3276) - } - 20 => { - let array3278 : Array[@types.MapEntry] = [] - for index3279 = 0 - index3279 < mbt_ffi_load32(iter_base + 12) - index3279 = index3279 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index3279 * 8 - - array3278.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array3278) - } - 21 => { - let lifted3280 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + array1838.push(result1837) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - @types.SchemaValueNode::OptionValue(lifted3280) - } - 22 => { - let lifted3283 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted3281 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted3281) - } - 1 => { - let lifted3282 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted3282) - } - _ => panic() - } + Option::Some(array1838) + } + _ => panic() + } - @types.SchemaValueNode::ResultValue(lifted3283) - } - 23 => { - let result3284 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3286 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result3285 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result3285) - } - _ => panic() - } + let lifted1844 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result3284, - language: lifted3286, - }) - } - 24 => { - let result3287 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted3289 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result3288 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result3288) - } - _ => panic() - } + let array1842 : Array[String] = []; + for index1843 = 0; index1843 < (mbt_ffi_load32((iter_base) + 32)); index1843 = index1843 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index1843 * 8) - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result3287, - mime_type: lifted3289, - }) - } - 25 => { - let result3290 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result3290) - } - 26 => { - let result3291 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result3291) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result3292 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result3292, - }) - } - 30 => { - let result3293 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result3293, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken(mbt_ffi_load32(iter_base + 8)), - ) - _ => panic() - } - - array3295.push(lifted3294) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - PublicOplogEntry::HostStreamFrame(HostStreamFrameParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - parent_start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - kind: HostStreamKind::from(mbt_ffi_load8_u(iter_base + 32)), - payload: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array3259, - defs: array3264, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array3295, - root: mbt_ffi_load32(iter_base + 64), - }, - }, - }) - } - 46 => - PublicOplogEntry::CompletionDiscarded(CompletionDiscardedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - _ => panic() - } - - array3298.push(lifted3297) - } - mbt_ffi_free(mbt_ffi_load32(return_area + 4)) - - Result::Ok(array3298) - } - 1 => { - let result3300 = mbt_ffi_ptr2str( - mbt_ffi_load32(return_area + 4), - mbt_ffi_load32(return_area + 8), - ) - - Result::Err(result3300) - } - _ => panic() - } - let ret = lifted3301 - mbt_ffi_free(ptr) - mbt_ffi_free(address459) - mbt_ffi_free(return_area) - - cleanup_list.each(mbt_ffi_free) - return ret -} + let result1841 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) -///| -pub fn GetOplog::get_oplog( - agent_id : @types.AgentId, - start : UInt64, -) -> GetOplog { - let ptr = mbt_ffi_str2ptr(agent_id.agent_id) - let result : Int = wasmImportConstructorGetOplog( - agent_id.component_id.uuid.high_bits.reinterpret_as_int64(), - agent_id.component_id.uuid.low_bits.reinterpret_as_int64(), - ptr, - agent_id.agent_id.length(), - start.reinterpret_as_int64(), - ) - let ret = GetOplog::GetOplog(result) - mbt_ffi_free(ptr) - return ret -} + array1842.push(result1841) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) -///| -pub fn GetOplog::get_next(self : GetOplog) -> Array[PublicOplogEntry]? { - let GetOplog(handle) = self - let return_area = mbt_ffi_malloc(12) - wasmImportMethodGetOplogGetNext(handle, return_area) - - let lifted2838 : Array[PublicOplogEntry]? = match - mbt_ffi_load8_u(return_area + 0) { - 0 => Option::None - 1 => { - let array2836 : Array[PublicOplogEntry] = [] - for index2837 = 0 - index2837 < mbt_ffi_load32(return_area + 8) - index2837 = index2837 + 1 { - let iter_base = mbt_ffi_load32(return_area + 4) + index2837 * 208 - - let lifted2835 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array : Array[(String, String)] = [] - for index = 0 - index < mbt_ffi_load32(iter_base + 68) - index = index + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + index * 16 - - let result0 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result1 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array.push((result0, result1)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - let lifted : @types.AgentId? = match - mbt_ffi_load8_u(iter_base + 104) { - 0 => Option::None - 1 => { - let result2 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 128), - mbt_ffi_load32(iter_base + 132), - ) - - Option::Some(@types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 112).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 120).reinterpret_as_uint64(), - }, - }, - agent_id: result2, - }) - } - _ => panic() - } + Option::Some(array1842) + } + _ => panic() + } - let array9 : Array[PluginInstallationDescription] = [] - for index10 = 0 - index10 < mbt_ffi_load32(iter_base + 156) - index10 = index10 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 152) + index10 * 48 - - let result3 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - let result4 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let array7 : Array[(String, String)] = [] - for index8 = 0 - index8 < mbt_ffi_load32(iter_base + 40) - index8 = index8 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index8 * 16 - - let result5 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result6 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array7.push((result5, result6)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - array9.push(PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 0).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 16), - plugin_name: result3, - plugin_version: result4, - parameters: array7, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 152)) - - let array248 : Array[LocalAgentConfigEntry] = [] - for index249 = 0 - index249 < mbt_ffi_load32(iter_base + 164) - index249 = index249 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 160) + index249 * 40 - - let array12 : Array[String] = [] - for index13 = 0 - index13 < mbt_ffi_load32(iter_base + 4) - index13 = index13 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + index13 * 8 - - let result11 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array12.push(result11) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - let array210 : Array[@types.SchemaTypeNode] = [] - for index211 = 0 - index211 < mbt_ffi_load32(iter_base + 12) - index211 = index211 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + index211 * 144 - - let lifted196 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted20 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted15 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted14 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted1840, allowed_extensions : lifted1844}) + } + 27 => { - Option::Some(lifted14) - } - _ => panic() - } + let lifted1848 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted17 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted16 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1846 : Array[String] = []; + for index1847 = 0; index1847 < (mbt_ffi_load32((iter_base) + 16)); index1847 = index1847 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index1847 * 8) - Option::Some(lifted16) - } - _ => panic() - } + let result1845 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted19 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result18 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result18) - } - _ => panic() - } + array1846.push(result1845) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - Option::Some(@types.NumericRestrictions::{ - min: lifted15, - max: lifted17, - unit: lifted19, - }) - } - _ => panic() - } + Option::Some(array1846) + } + _ => panic() + } - @types.SchemaTypeBody::S8Type(lifted20) - } - 3 => { - let lifted27 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted22 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted21 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1852 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(lifted21) - } - _ => panic() - } + let array1850 : Array[String] = []; + for index1851 = 0; index1851 < (mbt_ffi_load32((iter_base) + 28)); index1851 = index1851 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index1851 * 8) - let lifted24 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted23 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1849 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted23) - } - _ => panic() - } + array1850.push(result1849) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - let lifted26 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result25 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result25) - } - _ => panic() - } + Option::Some(array1850) + } + _ => panic() + } - Option::Some(@types.NumericRestrictions::{ - min: lifted22, - max: lifted24, - unit: lifted26, - }) - } - _ => panic() - } + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted1848, allowed_hosts : lifted1852}) + } + 28 => { - @types.SchemaTypeBody::S16Type(lifted27) - } - 4 => { - let lifted34 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted29 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted28 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::DatetimeType + } + 29 => { - Option::Some(lifted28) - } - _ => panic() - } + @types.SchemaTypeBody::DurationType + } + 30 => { - let lifted31 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted30 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1853 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted30) - } - _ => panic() - } + let array1855 : Array[String] = []; + for index1856 = 0; index1856 < (mbt_ffi_load32((iter_base) + 20)); index1856 = index1856 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index1856 * 8) - let lifted33 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result32 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result32) - } - _ => panic() - } + let result1854 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(@types.NumericRestrictions::{ - min: lifted29, - max: lifted31, - unit: lifted33, - }) - } - _ => panic() - } + array1855.push(result1854) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - @types.SchemaTypeBody::S32Type(lifted34) - } - 5 => { - let lifted41 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted36 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted35 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1858 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - Option::Some(lifted35) - } - _ => panic() - } + let result1857 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - let lifted38 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted37 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result1857}) + } + _ => panic() + } + + let lifted1860 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - Option::Some(lifted37) - } - _ => panic() - } + let result1859 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) - let lifted40 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result39 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result39) - } - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result1859}) + } + _ => panic() + } - Option::Some(@types.NumericRestrictions::{ - min: lifted36, - max: lifted38, - unit: lifted40, - }) - } - _ => panic() - } + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result1853, allowed_suffixes : array1855, min : lifted1858, max : lifted1860}) + } + 31 => { - @types.SchemaTypeBody::S64Type(lifted41) - } - 6 => { - let lifted48 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted43 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted42 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1884 : Array[@types.UnionBranch] = []; + for index1885 = 0; index1885 < (mbt_ffi_load32((iter_base) + 12)); index1885 = index1885 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1885 * 92) - Option::Some(lifted42) - } - _ => panic() - } + let result1861 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted45 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted44 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1870 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { - Option::Some(lifted44) - } - _ => panic() - } + let result1862 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted47 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result46 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result46) - } - _ => panic() - } + @types.DiscriminatorRule::Prefix(result1862) + } + 1 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted43, - max: lifted45, - unit: lifted47, - }) - } - _ => panic() - } + let result1863 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - @types.SchemaTypeBody::U8Type(lifted48) - } - 7 => { - let lifted55 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted50 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted49 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::Suffix(result1863) + } + 2 => { - Option::Some(lifted49) - } - _ => panic() - } + let result1864 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted52 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted51 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::Contains(result1864) + } + 3 => { - Option::Some(lifted51) - } - _ => panic() - } + let result1865 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted54 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result53 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result53) - } - _ => panic() - } + @types.DiscriminatorRule::Regex(result1865) + } + 4 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted50, - max: lifted52, - unit: lifted54, - }) - } - _ => panic() - } + let result1866 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - @types.SchemaTypeBody::U16Type(lifted55) - } - 8 => { - let lifted62 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted57 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted56 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1868 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - Option::Some(lifted56) - } - _ => panic() - } + let result1867 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) - let lifted59 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted58 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1867) + } + _ => panic() + } - Option::Some(lifted58) - } - _ => panic() - } + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result1866, literal : lifted1868}) + } + 5 => { - let lifted61 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result60 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result60) - } - _ => panic() - } + let result1869 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(@types.NumericRestrictions::{ - min: lifted57, - max: lifted59, - unit: lifted61, - }) - } - _ => panic() - } + @types.DiscriminatorRule::FieldAbsent(result1869) + } + _ => panic() + } - @types.SchemaTypeBody::U32Type(lifted62) - } - 9 => { - let lifted69 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted64 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted63 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1872 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - Option::Some(lifted63) - } - _ => panic() - } + let result1871 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let lifted66 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted65 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1871) + } + _ => panic() + } - Option::Some(lifted65) - } - _ => panic() - } + let array1874 : Array[String] = []; + for index1875 = 0; index1875 < (mbt_ffi_load32((iter_base) + 52)); index1875 = index1875 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index1875 * 8) - let lifted68 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result67 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result67) - } - _ => panic() - } + let result1873 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(@types.NumericRestrictions::{ - min: lifted64, - max: lifted66, - unit: lifted68, - }) - } - _ => panic() - } + array1874.push(result1873) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - @types.SchemaTypeBody::U64Type(lifted69) - } - 10 => { - let lifted76 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted71 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted70 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1877 : Array[String] = []; + for index1878 = 0; index1878 < (mbt_ffi_load32((iter_base) + 60)); index1878 = index1878 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1878 * 8) - Option::Some(lifted70) - } - _ => panic() - } + let result1876 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted73 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted72 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1877.push(result1876) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted72) - } - _ => panic() - } + let lifted1880 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let lifted75 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result74 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result74) - } - _ => panic() - } + let result1879 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - Option::Some(@types.NumericRestrictions::{ - min: lifted71, - max: lifted73, - unit: lifted75, - }) - } - _ => panic() - } + Option::Some(result1879) + } + _ => panic() + } - @types.SchemaTypeBody::F32Type(lifted76) - } - 11 => { - let lifted83 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted78 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted77 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1883 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { - Option::Some(lifted77) - } - _ => panic() - } + let lifted1882 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { - let lifted80 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted79 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted79) - } - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - let lifted82 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result81 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result81) - } - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted78, - max: lifted80, - unit: lifted82, - }) - } - _ => panic() - } + let result1881 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) - @types.SchemaTypeBody::F64Type(lifted83) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array98 : Array[@types.NamedFieldType] = [] - for index99 = 0 - index99 < mbt_ffi_load32(iter_base + 12) - index99 = index99 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index99 * 68 - - let result84 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted86 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result85 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result85) - } - _ => panic() - } - - let array88 : Array[String] = [] - for index89 = 0 - index89 < mbt_ffi_load32(iter_base + 28) - index89 = index89 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index89 * 8 - - let result87 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array88.push(result87) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - let array91 : Array[String] = [] - for index92 = 0 - index92 < mbt_ffi_load32(iter_base + 36) - index92 = index92 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index92 * 8 - - let result90 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array91.push(result90) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted94 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result93 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result93) - } - _ => panic() - } - - let lifted97 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted96 = match mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result95 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - @types.Role::Other(result95) - } - _ => panic() - } - - Option::Some(lifted96) - } - _ => panic() - } - - array98.push(@types.NamedFieldType::{ - name: result84, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted86, - aliases: array88, - examples: array91, - deprecated: lifted94, - role: lifted97, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array98) - } - 15 => { - let array115 : Array[@types.VariantCaseType] = [] - for index116 = 0 - index116 < mbt_ffi_load32(iter_base + 12) - index116 = index116 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index116 * 72 - - let result100 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted101 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted103 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result102 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result102) - } - _ => panic() - } - - let array105 : Array[String] = [] - for index106 = 0 - index106 < mbt_ffi_load32(iter_base + 32) - index106 = index106 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index106 * 8 - - let result104 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array105.push(result104) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array108 : Array[String] = [] - for index109 = 0 - index109 < mbt_ffi_load32(iter_base + 40) - index109 = index109 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index109 * 8 - - let result107 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array108.push(result107) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted111 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result110 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result110) - } - _ => panic() - } - - let lifted114 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted113 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result112 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - @types.Role::Other(result112) - } - _ => panic() - } - - Option::Some(lifted113) - } - _ => panic() - } - - array115.push(@types.VariantCaseType::{ - name: result100, - payload: lifted101, - metadata: @types.MetadataEnvelope::{ - doc: lifted103, - aliases: array105, - examples: array108, - deprecated: lifted111, - role: lifted114, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array115) - } - 16 => { - let array118 : Array[String] = [] - for index119 = 0 - index119 < mbt_ffi_load32(iter_base + 12) - index119 = index119 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index119 * 8 - - let result117 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array118.push(result117) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array118) - } - 17 => { - let array121 : Array[String] = [] - for index122 = 0 - index122 < mbt_ffi_load32(iter_base + 12) - index122 = index122 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index122 * 8 - - let result120 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array121.push(result120) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array121) - } - 18 => { - let array123 : Array[Int] = [] - for index124 = 0 - index124 < mbt_ffi_load32(iter_base + 12) - index124 = index124 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index124 * 4 - - array123.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array123) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted125 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted126 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted125, - err: lifted126, - }) - } - 24 => { - let lifted130 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array128 : Array[String] = [] - for index129 = 0 - index129 < mbt_ffi_load32(iter_base + 16) - index129 = index129 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index129 * 8 - - let result127 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array128.push(result127) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array128) - } - _ => panic() - } - - let lifted131 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted132 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted134 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result133 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result133) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted130, - min_length: lifted131, - max_length: lifted132, - regex: lifted134, - }) - } - 25 => { - let lifted138 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array136 : Array[String] = [] - for index137 = 0 - index137 < mbt_ffi_load32(iter_base + 16) - index137 = index137 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index137 * 8 - - let result135 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array136.push(result135) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array136) - } - _ => panic() - } - - let lifted139 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted140 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted138, - min_bytes: lifted139, - max_bytes: lifted140, - }) - } - 26 => { - let lifted144 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array142 : Array[String] = [] - for index143 = 0 - index143 < mbt_ffi_load32(iter_base + 20) - index143 = index143 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index143 * 8 - - let result141 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array142.push(result141) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array142) - } - _ => panic() - } - - let lifted148 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array146 : Array[String] = [] - for index147 = 0 - index147 < mbt_ffi_load32(iter_base + 32) - index147 = index147 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index147 * 8 - - let result145 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array146.push(result145) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array146) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted144, - allowed_extensions: lifted148, - }) - } - 27 => { - let lifted152 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array150 : Array[String] = [] - for index151 = 0 - index151 < mbt_ffi_load32(iter_base + 16) - index151 = index151 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index151 * 8 - - let result149 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array150.push(result149) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array150) - } - _ => panic() - } - - let lifted156 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array154 : Array[String] = [] - for index155 = 0 - index155 < mbt_ffi_load32(iter_base + 28) - index155 = index155 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index155 * 8 - - let result153 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array154.push(result153) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.Role::Other(result1881) + } + _ => panic() + } - Option::Some(array154) - } - _ => panic() - } + Option::Some(lifted1882) + } + _ => panic() + } - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted152, - allowed_hosts: lifted156, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result157 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array159 : Array[String] = [] - for index160 = 0 - index160 < mbt_ffi_load32(iter_base + 20) - index160 = index160 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index160 * 8 - - let result158 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array159.push(result158) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted162 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result161 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result161, - }) - } - _ => panic() - } - - let lifted164 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result163 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result163, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result157, - allowed_suffixes: array159, - min: lifted162, - max: lifted164, - }) - } - 31 => { - let array188 : Array[@types.UnionBranch] = [] - for index189 = 0 - index189 < mbt_ffi_load32(iter_base + 12) - index189 = index189 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index189 * 92 - - let result165 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted174 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result166 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result166) - } - 1 => { - let result167 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + array1884.push(@types.UnionBranch::{tag : result1861, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted1870, metadata : @types.MetadataEnvelope::{doc : lifted1872, aliases : array1874, examples : array1877, deprecated : lifted1880, role : lifted1883}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @types.DiscriminatorRule::Suffix(result167) - } - 2 => { - let result168 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array1884}) + } + 32 => { - @types.DiscriminatorRule::Contains(result168) - } - 3 => { - let result169 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + let lifted1887 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - @types.DiscriminatorRule::Regex(result169) - } - 4 => { - let result170 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted172 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result171 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - Option::Some(result171) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result170, - literal: lifted172, - }) - } - 5 => { - let result173 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + let result1886 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - @types.DiscriminatorRule::FieldAbsent(result173) - } - _ => panic() - } - - let lifted176 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result175 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result175) - } - _ => panic() - } - - let array178 : Array[String] = [] - for index179 = 0 - index179 < mbt_ffi_load32(iter_base + 52) - index179 = index179 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index179 * 8 - - let result177 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array178.push(result177) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array181 : Array[String] = [] - for index182 = 0 - index182 < mbt_ffi_load32(iter_base + 60) - index182 = index182 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index182 * 8 - - let result180 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array181.push(result180) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted184 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result183 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result183) - } - _ => panic() - } - - let lifted187 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted186 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result185 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) - - @types.Role::Other(result185) - } - _ => panic() - } - - Option::Some(lifted186) - } - _ => panic() - } - - array188.push(@types.UnionBranch::{ - tag: result165, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted174, - metadata: @types.MetadataEnvelope::{ - doc: lifted176, - aliases: array178, - examples: array181, - deprecated: lifted184, - role: lifted187, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array188, - }) - } - 32 => { - let lifted191 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result190 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result190) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted191, - }) - } - 33 => { - let lifted193 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result192 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result192) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted193, - }) - } - 34 => { - let lifted194 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted194) - } - 35 => { - let lifted195 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted195) - } - _ => panic() - } - - let lifted198 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result197 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result197) - } - _ => panic() - } - - let array200 : Array[String] = [] - for index201 = 0 - index201 < mbt_ffi_load32(iter_base + 104) - index201 = index201 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + index201 * 8 - - let result199 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array200.push(result199) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array203 : Array[String] = [] - for index204 = 0 - index204 < mbt_ffi_load32(iter_base + 112) - index204 = index204 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + index204 * 8 - - let result202 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array203.push(result202) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted206 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result205 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result205) - } - _ => panic() - } - - let lifted209 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted208 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result207 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result207) - } - _ => panic() - } - - Option::Some(lifted208) - } - _ => panic() - } - - array210.push(@types.SchemaTypeNode::{ - body: lifted196, - metadata: @types.MetadataEnvelope::{ - doc: lifted198, - aliases: array200, - examples: array203, - deprecated: lifted206, - role: lifted209, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - let array215 : Array[@types.SchemaTypeDef] = [] - for index216 = 0 - index216 < mbt_ffi_load32(iter_base + 20) - index216 = index216 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + index216 * 24 - - let result212 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted214 : String? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result213 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result213) - } - _ => panic() - } - - array215.push(@types.SchemaTypeDef::{ - id: result212, - name: lifted214, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let array246 : Array[@types.SchemaValueNode] = [] - for index247 = 0 - index247 < mbt_ffi_load32(iter_base + 32) - index247 = index247 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + index247 * 32 - - let lifted245 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result217 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result217) - } - 13 => { - let array218 : Array[Int] = [] - for index219 = 0 - index219 < mbt_ffi_load32(iter_base + 12) - index219 = index219 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index219 * 4 - - array218.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array218) - } - 14 => { - let lifted220 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted220, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array221 : Array[Bool] = [] - for index222 = 0 - index222 < mbt_ffi_load32(iter_base + 12) - index222 = index222 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index222 * 1 - - array221.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array221) - } - 17 => { - let array223 : Array[Int] = [] - for index224 = 0 - index224 < mbt_ffi_load32(iter_base + 12) - index224 = index224 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index224 * 4 - - array223.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array223) - } - 18 => { - let array225 : Array[Int] = [] - for index226 = 0 - index226 < mbt_ffi_load32(iter_base + 12) - index226 = index226 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index226 * 4 - - array225.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array225) - } - 19 => { - let array227 : Array[Int] = [] - for index228 = 0 - index228 < mbt_ffi_load32(iter_base + 12) - index228 = index228 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index228 * 4 - - array227.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array227) - } - 20 => { - let array229 : Array[@types.MapEntry] = [] - for index230 = 0 - index230 < mbt_ffi_load32(iter_base + 12) - index230 = index230 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index230 * 8 - - array229.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array229) - } - 21 => { - let lifted231 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted231) - } - 22 => { - let lifted234 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted232 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + Option::Some(result1886) + } + _ => panic() + } - @types.ResultValuePayload::OkValue(lifted232) - } - 1 => { - let lifted233 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted1887}) + } + 33 => { - @types.ResultValuePayload::ErrValue(lifted233) - } - _ => panic() - } + let lifted1889 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.SchemaValueNode::ResultValue(lifted234) - } - 23 => { - let result235 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted237 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result236 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result236) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result235, - language: lifted237, - }) - } - 24 => { - let result238 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted240 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result239 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result239) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result238, - mime_type: lifted240, - }) - } - 25 => { - let result241 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) + let result1888 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - @types.SchemaValueNode::PathValue(result241) - } - 26 => { - let result242 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) + Option::Some(result1888) + } + _ => panic() + } - @types.SchemaValueNode::UrlValue(result242) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result243 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result243, - }) - } - 30 => { - let result244 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result244, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } - - array246.push(lifted245) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - array248.push(LocalAgentConfigEntry::{ - path: array12, - value: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array210, - defs: array215, - root: mbt_ffi_load32(iter_base + 24), - }, - value: @types.SchemaValueTree::{ - value_nodes: array246, - root: mbt_ffi_load32(iter_base + 36), - }, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 160)) - - let lifted250 : @types.Uuid? = match - mbt_ffi_load8_u(iter_base + 168) { - 0 => Option::None - 1 => - Option::Some(@types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 176).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 184).reinterpret_as_uint64(), - }) - _ => panic() - } + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted1889}) + } + 34 => { - PublicOplogEntry::Create(CreateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - agent_id: @types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - agent_id: result, - }, - agent_mode: AgentMode::from(mbt_ffi_load8_u(iter_base + 48)), - component_revision: mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - env: array, - created_by: @types.AccountId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 72).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - }, - }, - environment_id: @host.EnvironmentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 88).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 96).reinterpret_as_uint64(), - }, - }, - parent: lifted, - component_size: mbt_ffi_load64(iter_base + 136).reinterpret_as_uint64(), - initial_total_linear_memory_size: mbt_ffi_load64(iter_base + 144).reinterpret_as_uint64(), - initial_active_plugins: array9, - local_agent_config: array248, - original_phantom_id: lifted250, - instance_id: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 192).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 200).reinterpret_as_uint64(), - }, - }) - } - 1 => { - let lifted251 : UInt64? = match mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1890 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let result252 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let lifted253 : @types.Uuid? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some(@types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 64).reinterpret_as_uint64(), - }) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let lifted254 : UInt64? = match mbt_ffi_load8_u(iter_base + 72) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::FutureType(lifted1890) + } + 35 => { - let lifted489 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let array451 : Array[@types.SchemaTypeNode] = [] - for index452 = 0 - index452 < mbt_ffi_load32(iter_base + 96) - index452 = index452 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 92) + - index452 * 144 - - let lifted437 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted261 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted256 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted255 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1891 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted255) - } - _ => panic() - } - - let lifted258 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted257 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted257) - } - _ => panic() - } - - let lifted260 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result259 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result259) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted256, - max: lifted258, - unit: lifted260, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted261) - } - 3 => { - let lifted268 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted263 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted262 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::StreamType(lifted1891) + } + _ => panic() + } - Option::Some(lifted262) - } - _ => panic() - } - - let lifted265 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted264 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1894 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { - Option::Some(lifted264) - } - _ => panic() - } - - let lifted267 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result266 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result266) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted263, - max: lifted265, - unit: lifted267, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted268) - } - 4 => { - let lifted275 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted270 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted269 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1893 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) - Option::Some(lifted269) - } - _ => panic() - } - - let lifted272 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted271 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1893) + } + _ => panic() + } - Option::Some(lifted271) - } - _ => panic() - } - - let lifted274 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result273 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result273) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted270, - max: lifted272, - unit: lifted274, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted275) - } - 5 => { - let lifted282 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted277 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted276 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1896 : Array[String] = []; + for index1897 = 0; index1897 < (mbt_ffi_load32((iter_base) + 104)); index1897 = index1897 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index1897 * 8) - Option::Some(lifted276) - } - _ => panic() - } - - let lifted279 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted278 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1895 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted278) - } - _ => panic() - } - - let lifted281 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result280 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result280) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted277, - max: lifted279, - unit: lifted281, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted282) - } - 6 => { - let lifted289 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted284 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted283 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array1896.push(result1895) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) - Option::Some(lifted283) - } - _ => panic() - } - - let lifted286 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted285 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array1899 : Array[String] = []; + for index1900 = 0; index1900 < (mbt_ffi_load32((iter_base) + 112)); index1900 = index1900 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index1900 * 8) - Option::Some(lifted285) - } - _ => panic() - } - - let lifted288 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result287 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result287) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted284, - max: lifted286, - unit: lifted288, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted289) - } - 7 => { - let lifted296 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted291 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted290 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1898 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted290) - } - _ => panic() - } - - let lifted293 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted292 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array1899.push(result1898) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) - Option::Some(lifted292) - } - _ => panic() - } - - let lifted295 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result294 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result294) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted291, - max: lifted293, - unit: lifted295, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted296) - } - 8 => { - let lifted303 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted298 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted297 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1902 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { - Option::Some(lifted297) - } - _ => panic() - } - - let lifted300 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted299 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1901 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) - Option::Some(lifted299) - } - _ => panic() - } - - let lifted302 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result301 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result301) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted298, - max: lifted300, - unit: lifted302, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted303) - } - 9 => { - let lifted310 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted305 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted304 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1901) + } + _ => panic() + } - Option::Some(lifted304) - } - _ => panic() - } - - let lifted307 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted306 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1905 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { - Option::Some(lifted306) - } - _ => panic() - } - - let lifted309 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result308 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result308) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted305, - max: lifted307, - unit: lifted309, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted310) - } - 10 => { - let lifted317 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted312 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted311 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1904 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { - Option::Some(lifted311) - } - _ => panic() - } - - let lifted314 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted313 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted313) - } - _ => panic() - } - - let lifted316 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result315 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result315) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted312, - max: lifted314, - unit: lifted316, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted317) - } - 11 => { - let lifted324 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted319 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted318 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - Option::Some(lifted318) - } - _ => panic() - } - - let lifted321 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted320 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted320) - } - _ => panic() - } - - let lifted323 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result322 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result322) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted319, - max: lifted321, - unit: lifted323, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted324) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array339 : Array[@types.NamedFieldType] = [] - for index340 = 0 - index340 < mbt_ffi_load32(iter_base + 12) - index340 = index340 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index340 * 68 - - let result325 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted327 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result326 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result326) - } - _ => panic() - } + let result1903 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) - let array329 : Array[String] = [] - for index330 = 0 - index330 < mbt_ffi_load32(iter_base + 28) - index330 = index330 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index330 * 8 + @types.Role::Other(result1903) + } + _ => panic() + } - let result328 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(lifted1904) + } + _ => panic() + } - array329.push(result328) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + array1906.push(@types.SchemaTypeNode::{body : lifted1892, metadata : @types.MetadataEnvelope::{doc : lifted1894, aliases : array1896, examples : array1899, deprecated : lifted1902, role : lifted1905}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - let array332 : Array[String] = [] - for index333 = 0 - index333 < mbt_ffi_load32(iter_base + 36) - index333 = index333 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index333 * 8 + let array1911 : Array[@types.SchemaTypeDef] = []; + for index1912 = 0; index1912 < (mbt_ffi_load32((iter_base) + 48)); index1912 = index1912 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index1912 * 24) - let result331 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1908 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array332.push(result331) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted335 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result334 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result334) - } - _ => panic() - } + let lifted1910 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted338 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted337 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result336 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let result1909 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - @types.Role::Other(result336) - } - _ => panic() - } + Option::Some(result1909) + } + _ => panic() + } - Option::Some(lifted337) - } - _ => panic() - } + array1911.push(@types.SchemaTypeDef::{id : result1908, name : lifted1910, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) - array339.push(@types.NamedFieldType::{ - name: result325, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted327, - aliases: array329, - examples: array332, - deprecated: lifted335, - role: lifted338, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array339) - } - 15 => { - let array356 : Array[@types.VariantCaseType] = [] - for index357 = 0 - index357 < mbt_ffi_load32(iter_base + 12) - index357 = index357 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index357 * 72 - - let result341 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted342 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let array1942 : Array[@types.SchemaValueNode] = []; + for index1943 = 0; index1943 < (mbt_ffi_load32((iter_base) + 60)); index1943 = index1943 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1943 * 32) - let lifted344 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result343 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result343) - } - _ => panic() - } + let lifted1941 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let array346 : Array[String] = [] - for index347 = 0 - index347 < mbt_ffi_load32(iter_base + 32) - index347 = index347 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index347 * 8 + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { - let result345 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { - array346.push(result345) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { - let array349 : Array[String] = [] - for index350 = 0 - index350 < mbt_ffi_load32(iter_base + 40) - index350 = index350 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index350 * 8 + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { - let result348 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { - array349.push(result348) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted352 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result351 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result351) - } - _ => panic() - } + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { - let lifted355 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted354 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result353 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { - @types.Role::Other(result353) - } - _ => panic() - } + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { - Option::Some(lifted354) - } - _ => panic() - } + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { - array356.push(@types.VariantCaseType::{ - name: result341, - payload: lifted342, - metadata: @types.MetadataEnvelope::{ - doc: lifted344, - aliases: array346, - examples: array349, - deprecated: lifted352, - role: lifted355, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array356) - } - 16 => { - let array359 : Array[String] = [] - for index360 = 0 - index360 < mbt_ffi_load32(iter_base + 12) - index360 = index360 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index360 * 8 - - let result358 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array359.push(result358) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array359) - } - 17 => { - let array362 : Array[String] = [] - for index363 = 0 - index363 < mbt_ffi_load32(iter_base + 12) - index363 = index363 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index363 * 8 - - let result361 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array362.push(result361) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array362) - } - 18 => { - let array364 : Array[Int] = [] - for index365 = 0 - index365 < mbt_ffi_load32(iter_base + 12) - index365 = index365 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index365 * 4 - - array364.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array364) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted366 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted367 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted366, - err: lifted367, - }) - } - 24 => { - let lifted371 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array369 : Array[String] = [] - for index370 = 0 - index370 < mbt_ffi_load32(iter_base + 16) - index370 = index370 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index370 * 8 - - let result368 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array369.push(result368) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array369) - } - _ => panic() - } - - let lifted372 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted373 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted375 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result374 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result374) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted371, - min_length: lifted372, - max_length: lifted373, - regex: lifted375, - }) - } - 25 => { - let lifted379 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array377 : Array[String] = [] - for index378 = 0 - index378 < mbt_ffi_load32(iter_base + 16) - index378 = index378 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index378 * 8 - - let result376 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array377.push(result376) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array377) - } - _ => panic() - } - - let lifted380 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted381 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted379, - min_bytes: lifted380, - max_bytes: lifted381, - }) - } - 26 => { - let lifted385 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array383 : Array[String] = [] - for index384 = 0 - index384 < mbt_ffi_load32(iter_base + 20) - index384 = index384 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index384 * 8 - - let result382 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array383.push(result382) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array383) - } - _ => panic() - } - - let lifted389 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array387 : Array[String] = [] - for index388 = 0 - index388 < mbt_ffi_load32(iter_base + 32) - index388 = index388 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index388 * 8 - - let result386 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array387.push(result386) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array387) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted385, - allowed_extensions: lifted389, - }) - } - 27 => { - let lifted393 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array391 : Array[String] = [] - for index392 = 0 - index392 < mbt_ffi_load32(iter_base + 16) - index392 = index392 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index392 * 8 - - let result390 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array391.push(result390) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array391) - } - _ => panic() - } - - let lifted397 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array395 : Array[String] = [] - for index396 = 0 - index396 < mbt_ffi_load32(iter_base + 28) - index396 = index396 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index396 * 8 - - let result394 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array395.push(result394) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array395) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted393, - allowed_hosts: lifted397, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result398 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array400 : Array[String] = [] - for index401 = 0 - index401 < mbt_ffi_load32(iter_base + 20) - index401 = index401 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index401 * 8 - - let result399 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array400.push(result399) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted403 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result402 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result402, - }) - } - _ => panic() - } - - let lifted405 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result404 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result404, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result398, - allowed_suffixes: array400, - min: lifted403, - max: lifted405, - }) - } - 31 => { - let array429 : Array[@types.UnionBranch] = [] - for index430 = 0 - index430 < mbt_ffi_load32(iter_base + 12) - index430 = index430 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index430 * 92 - - let result406 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted415 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result407 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result407) - } - 1 => { - let result408 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result408) - } - 2 => { - let result409 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result409) - } - 3 => { - let result410 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result410) - } - 4 => { - let result411 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted413 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result412 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { - Option::Some(result412) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result411, - literal: lifted413, - }) - } - 5 => { - let result414 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result414) - } - _ => panic() - } + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { - let lifted417 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result416 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result416) - } - _ => panic() - } + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { - let array419 : Array[String] = [] - for index420 = 0 - index420 < mbt_ffi_load32(iter_base + 52) - index420 = index420 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index420 * 8 + let result1913 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result418 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::StringValue(result1913) + } + 13 => { - array419.push(result418) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let array1914 : Array[Int] = []; + for index1915 = 0; index1915 < (mbt_ffi_load32((iter_base) + 12)); index1915 = index1915 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1915 * 4) - let array422 : Array[String] = [] - for index423 = 0 - index423 < mbt_ffi_load32(iter_base + 60) - index423 = index423 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index423 * 8 + array1914.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let result421 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::RecordValue(array1914) + } + 14 => { - array422.push(result421) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted425 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result424 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result424) - } - _ => panic() - } + let lifted1916 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let lifted428 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted427 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result426 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - @types.Role::Other(result426) - } - _ => panic() - } + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted1916}) + } + 15 => { - Option::Some(lifted427) - } - _ => panic() - } + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { - array429.push(@types.UnionBranch::{ - tag: result406, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted415, - metadata: @types.MetadataEnvelope::{ - doc: lifted417, - aliases: array419, - examples: array422, - deprecated: lifted425, - role: lifted428, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array429, - }) - } - 32 => { - let lifted432 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result431 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result431) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted432, - }) - } - 33 => { - let lifted434 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result433 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result433) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted434, - }) - } - 34 => { - let lifted435 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted435) - } - 35 => { - let lifted436 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted436) - } - _ => panic() - } + let array1917 : Array[Bool] = []; + for index1918 = 0; index1918 < (mbt_ffi_load32((iter_base) + 12)); index1918 = index1918 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1918 * 1) - let lifted439 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result438 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result438) - } - _ => panic() - } + array1917.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array441 : Array[String] = [] - for index442 = 0 - index442 < mbt_ffi_load32(iter_base + 104) - index442 = index442 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index442 * 8 + @types.SchemaValueNode::FlagsValue(array1917) + } + 17 => { - let result440 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1919 : Array[Int] = []; + for index1920 = 0; index1920 < (mbt_ffi_load32((iter_base) + 12)); index1920 = index1920 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1920 * 4) - array441.push(result440) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + array1919.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array444 : Array[String] = [] - for index445 = 0 - index445 < mbt_ffi_load32(iter_base + 112) - index445 = index445 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index445 * 8 + @types.SchemaValueNode::TupleValue(array1919) + } + 18 => { - let result443 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1921 : Array[Int] = []; + for index1922 = 0; index1922 < (mbt_ffi_load32((iter_base) + 12)); index1922 = index1922 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1922 * 4) - array444.push(result443) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted447 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result446 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result446) - } - _ => panic() - } + array1921.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let lifted450 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted449 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result448 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result448) - } - _ => panic() - } + @types.SchemaValueNode::ListValue(array1921) + } + 19 => { - Option::Some(lifted449) - } - _ => panic() - } + let array1923 : Array[Int] = []; + for index1924 = 0; index1924 < (mbt_ffi_load32((iter_base) + 12)); index1924 = index1924 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1924 * 4) - array451.push(@types.SchemaTypeNode::{ - body: lifted437, - metadata: @types.MetadataEnvelope::{ - doc: lifted439, - aliases: array441, - examples: array444, - deprecated: lifted447, - role: lifted450, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 92)) - - let array456 : Array[@types.SchemaTypeDef] = [] - for index457 = 0 - index457 < mbt_ffi_load32(iter_base + 104) - index457 = index457 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index457 * 24 - - let result453 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted455 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result454 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result454) - } - _ => panic() - } + array1923.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array456.push(@types.SchemaTypeDef::{ - id: result453, - name: lifted455, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array487 : Array[@types.SchemaValueNode] = [] - for index488 = 0 - index488 < mbt_ffi_load32(iter_base + 116) - index488 = index488 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 112) + - index488 * 32 - - let lifted486 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result458 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result458) - } - 13 => { - let array459 : Array[Int] = [] - for index460 = 0 - index460 < mbt_ffi_load32(iter_base + 12) - index460 = index460 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index460 * 4 - - array459.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array459) - } - 14 => { - let lifted461 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted461, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array462 : Array[Bool] = [] - for index463 = 0 - index463 < mbt_ffi_load32(iter_base + 12) - index463 = index463 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index463 * 1 - - array462.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array462) - } - 17 => { - let array464 : Array[Int] = [] - for index465 = 0 - index465 < mbt_ffi_load32(iter_base + 12) - index465 = index465 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index465 * 4 - - array464.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array464) - } - 18 => { - let array466 : Array[Int] = [] - for index467 = 0 - index467 < mbt_ffi_load32(iter_base + 12) - index467 = index467 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index467 * 4 - - array466.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array466) - } - 19 => { - let array468 : Array[Int] = [] - for index469 = 0 - index469 < mbt_ffi_load32(iter_base + 12) - index469 = index469 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index469 * 4 - - array468.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array468) - } - 20 => { - let array470 : Array[@types.MapEntry] = [] - for index471 = 0 - index471 < mbt_ffi_load32(iter_base + 12) - index471 = index471 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index471 * 8 - - array470.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array470) - } - 21 => { - let lifted472 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted472) - } - 22 => { - let lifted475 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted473 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted473) - } - 1 => { - let lifted474 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted474) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted475) - } - 23 => { - let result476 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted478 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result477 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result477) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result476, - language: lifted478, - }) - } - 24 => { - let result479 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted481 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result480 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result480) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result479, - mime_type: lifted481, - }) - } - 25 => { - let result482 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result482) - } - 26 => { - let result483 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result483) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result484 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result484, - }) - } - 30 => { - let result485 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result485, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.SchemaValueNode::FixedListValue(array1923) + } + 20 => { - array487.push(lifted486) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 112)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array451, - defs: array456, - root: mbt_ffi_load32(iter_base + 108), - }, - value: @types.SchemaValueTree::{ - value_nodes: array487, - root: mbt_ffi_load32(iter_base + 120), - }, - }) - } - _ => panic() - } + let array1925 : Array[@types.MapEntry] = []; + for index1926 = 0; index1926 < (mbt_ffi_load32((iter_base) + 12)); index1926 = index1926 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index1926 * 8) - let lifted492 = match mbt_ffi_load8_u(iter_base + 128) { - 0 => WrappedFunctionType::ReadLocal - 1 => WrappedFunctionType::WriteLocal - 2 => WrappedFunctionType::ReadRemote - 3 => WrappedFunctionType::WriteRemote - 4 => { - let lifted490 : UInt64? = match - mbt_ffi_load8_u(iter_base + 136) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 144).reinterpret_as_uint64(), - ) - _ => panic() - } - - WrappedFunctionType::WriteRemoteBatched(lifted490) - } - 5 => { - let lifted491 : UInt64? = match - mbt_ffi_load8_u(iter_base + 136) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 144).reinterpret_as_uint64(), - ) - _ => panic() - } - - WrappedFunctionType::WriteRemoteTransaction(lifted491) - } - _ => panic() - } + array1925.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - PublicOplogEntry::Start(StartParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - parent_start_index: lifted251, - function_name: result252, - invocation_id: lifted253, - observational_owner: lifted254, - request: lifted489, - durable_function_type: lifted492, - }) - } - 2 => { - let lifted727 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let array689 : Array[@types.SchemaTypeNode] = [] - for index690 = 0 - index690 < mbt_ffi_load32(iter_base + 40) - index690 = index690 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index690 * 144 - - let lifted675 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted499 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted494 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted493 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::MapValue(array1925) + } + 21 => { - Option::Some(lifted493) - } - _ => panic() - } - - let lifted496 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted495 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1927 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted495) - } - _ => panic() - } - - let lifted498 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result497 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result497) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted494, - max: lifted496, - unit: lifted498, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted499) - } - 3 => { - let lifted506 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted501 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted500 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted500) - } - _ => panic() - } - - let lifted503 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted502 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::OptionValue(lifted1927) + } + 22 => { - Option::Some(lifted502) - } - _ => panic() - } - - let lifted505 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result504 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result504) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted501, - max: lifted503, - unit: lifted505, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted506) - } - 4 => { - let lifted513 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted508 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted507 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1930 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - Option::Some(lifted507) - } - _ => panic() - } - - let lifted510 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted509 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1928 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted509) - } - _ => panic() - } - - let lifted512 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result511 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result511) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted508, - max: lifted510, - unit: lifted512, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted513) - } - 5 => { - let lifted520 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted515 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted514 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - Option::Some(lifted514) - } - _ => panic() - } - - let lifted517 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted516 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.ResultValuePayload::OkValue(lifted1928) + } + 1 => { - Option::Some(lifted516) - } - _ => panic() - } - - let lifted519 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result518 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result518) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted515, - max: lifted517, - unit: lifted519, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted520) - } - 6 => { - let lifted527 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted522 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted521 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1929 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted521) - } - _ => panic() - } - - let lifted524 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted523 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - Option::Some(lifted523) - } - _ => panic() - } - - let lifted526 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result525 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result525) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted522, - max: lifted524, - unit: lifted526, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted527) - } - 7 => { - let lifted534 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted529 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted528 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.ResultValuePayload::ErrValue(lifted1929) + } + _ => panic() + } - Option::Some(lifted528) - } - _ => panic() - } - - let lifted531 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted530 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::ResultValue(lifted1930) + } + 23 => { - Option::Some(lifted530) - } - _ => panic() - } - - let lifted533 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result532 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result532) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted529, - max: lifted531, - unit: lifted533, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted534) - } - 8 => { - let lifted541 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted536 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted535 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1931 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted535) - } - _ => panic() - } - - let lifted538 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted537 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1933 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted537) - } - _ => panic() - } - - let lifted540 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result539 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result539) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted536, - max: lifted538, - unit: lifted540, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted541) - } - 9 => { - let lifted548 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted543 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted542 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1932 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted542) - } - _ => panic() - } - - let lifted545 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted544 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result1932) + } + _ => panic() + } - Option::Some(lifted544) - } - _ => panic() - } - - let lifted547 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result546 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result546) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted543, - max: lifted545, - unit: lifted547, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted548) - } - 10 => { - let lifted555 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted550 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted549 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result1931, language : lifted1933}) + } + 24 => { - Option::Some(lifted549) - } - _ => panic() - } - - let lifted552 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted551 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1934 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted551) - } - _ => panic() - } - - let lifted554 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result553 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result553) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted550, - max: lifted552, - unit: lifted554, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted555) - } - 11 => { - let lifted562 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted557 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted556 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1936 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted556) - } - _ => panic() - } - - let lifted559 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted558 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1935 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted558) - } - _ => panic() - } - - let lifted561 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result560 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result560) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted557, - max: lifted559, - unit: lifted561, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted562) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array577 : Array[@types.NamedFieldType] = [] - for index578 = 0 - index578 < mbt_ffi_load32(iter_base + 12) - index578 = index578 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index578 * 68 - - let result563 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted565 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result564 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result564) - } - _ => panic() - } + Option::Some(result1935) + } + _ => panic() + } - let array567 : Array[String] = [] - for index568 = 0 - index568 < mbt_ffi_load32(iter_base + 28) - index568 = index568 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index568 * 8 + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result1934, mime_type : lifted1936}) + } + 25 => { - let result566 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1937 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array567.push(result566) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.SchemaValueNode::PathValue(result1937) + } + 26 => { - let array570 : Array[String] = [] - for index571 = 0 - index571 < mbt_ffi_load32(iter_base + 36) - index571 = index571 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index571 * 8 + let result1938 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::UrlValue(result1938) + } + 27 => { - array570.push(result569) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted573 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result572) - } - _ => panic() - } + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { - let lifted576 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted575 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { - @types.Role::Other(result574) - } - _ => panic() - } + let result1939 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted575) - } - _ => panic() - } + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result1939}) + } + 30 => { - array577.push(@types.NamedFieldType::{ - name: result563, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted565, - aliases: array567, - examples: array570, - deprecated: lifted573, - role: lifted576, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array577) - } - 15 => { - let array594 : Array[@types.VariantCaseType] = [] - for index595 = 0 - index595 < mbt_ffi_load32(iter_base + 12) - index595 = index595 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index595 * 72 - - let result579 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted580 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result1940 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let lifted582 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result581 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result581) - } - _ => panic() - } + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result1940, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { - let array584 : Array[String] = [] - for index585 = 0 - index585 < mbt_ffi_load32(iter_base + 32) - index585 = index585 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index585 * 8 + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { - let result583 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } - array584.push(result583) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + array1942.push(lifted1941) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - let array587 : Array[String] = [] - for index588 = 0 - index588 < mbt_ffi_load32(iter_base + 40) - index588 = index588 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index588 * 8 + AgentInvocationResult::AgentMethod(AgentInvocationOutputParameters::{output : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array1906, defs : array1911, root : mbt_ffi_load32((iter_base) + 52)}, value : @types.SchemaValueTree::{value_nodes : array1942, root : mbt_ffi_load32((iter_base) + 64)}}}) + } + 2 => { - let result586 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + AgentInvocationResult::ManualUpdate + } + 3 => { - array587.push(result586) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted590 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result589) - } - _ => panic() - } + let lifted1945 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - let lifted593 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted592 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result591 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result1944 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - @types.Role::Other(result591) - } - _ => panic() - } + Option::Some(result1944) + } + _ => panic() + } - Option::Some(lifted592) - } - _ => panic() - } + AgentInvocationResult::LoadSnapshot(FallibleResultParameters::{error : lifted1945}) + } + 4 => { - array594.push(@types.VariantCaseType::{ - name: result579, - payload: lifted580, - metadata: @types.MetadataEnvelope::{ - doc: lifted582, - aliases: array584, - examples: array587, - deprecated: lifted590, - role: lifted593, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array594) - } - 16 => { - let array597 : Array[String] = [] - for index598 = 0 - index598 < mbt_ffi_load32(iter_base + 12) - index598 = index598 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index598 * 8 - - let result596 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array597.push(result596) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array597) - } - 17 => { - let array600 : Array[String] = [] - for index601 = 0 - index601 < mbt_ffi_load32(iter_base + 12) - index601 = index601 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index601 * 8 - - let result599 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array600.push(result599) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array600) - } - 18 => { - let array602 : Array[Int] = [] - for index603 = 0 - index603 < mbt_ffi_load32(iter_base + 12) - index603 = index603 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index603 * 4 - - array602.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array602) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted604 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted605 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted604, - err: lifted605, - }) - } - 24 => { - let lifted609 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array607 : Array[String] = [] - for index608 = 0 - index608 < mbt_ffi_load32(iter_base + 16) - index608 = index608 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index608 * 8 - - let result606 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array607.push(result606) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array607) - } - _ => panic() - } - - let lifted610 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted611 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted613 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result612 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result612) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted609, - min_length: lifted610, - max_length: lifted611, - regex: lifted613, - }) - } - 25 => { - let lifted617 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array615 : Array[String] = [] - for index616 = 0 - index616 < mbt_ffi_load32(iter_base + 16) - index616 = index616 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index616 * 8 - - let result614 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array615.push(result614) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array615) - } - _ => panic() - } - - let lifted618 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted619 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted617, - min_bytes: lifted618, - max_bytes: lifted619, - }) - } - 26 => { - let lifted623 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array621 : Array[String] = [] - for index622 = 0 - index622 < mbt_ffi_load32(iter_base + 20) - index622 = index622 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index622 * 8 - - let result620 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array621.push(result620) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array621) - } - _ => panic() - } - - let lifted627 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array625 : Array[String] = [] - for index626 = 0 - index626 < mbt_ffi_load32(iter_base + 32) - index626 = index626 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index626 * 8 - - let result624 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array625.push(result624) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array625) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted623, - allowed_extensions: lifted627, - }) - } - 27 => { - let lifted631 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array629 : Array[String] = [] - for index630 = 0 - index630 < mbt_ffi_load32(iter_base + 16) - index630 = index630 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index630 * 8 - - let result628 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array629.push(result628) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array629) - } - _ => panic() - } - - let lifted635 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array633 : Array[String] = [] - for index634 = 0 - index634 < mbt_ffi_load32(iter_base + 28) - index634 = index634 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index634 * 8 - - let result632 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array633.push(result632) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array633) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted631, - allowed_hosts: lifted635, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result636 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array638 : Array[String] = [] - for index639 = 0 - index639 < mbt_ffi_load32(iter_base + 20) - index639 = index639 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index639 * 8 - - let result637 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array638.push(result637) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted641 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result640 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result640, - }) - } - _ => panic() - } - - let lifted643 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result642 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result642, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result636, - allowed_suffixes: array638, - min: lifted641, - max: lifted643, - }) - } - 31 => { - let array667 : Array[@types.UnionBranch] = [] - for index668 = 0 - index668 < mbt_ffi_load32(iter_base + 12) - index668 = index668 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index668 * 92 - - let result644 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted653 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result645 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result645) - } - 1 => { - let result646 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result646) - } - 2 => { - let result647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result647) - } - 3 => { - let result648 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result648) - } - 4 => { - let result649 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted651 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result650 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result1946 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) - Option::Some(result650) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result649, - literal: lifted651, - }) - } - 5 => { - let result652 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result652) - } - _ => panic() - } + let result1947 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - let lifted655 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result654) - } - _ => panic() - } + AgentInvocationResult::SaveSnapshot(SaveSnapshotResultParameters::{snapshot : SnapshotData::{data : result1946, mime_type : result1947}}) + } + 5 => { - let array657 : Array[String] = [] - for index658 = 0 - index658 < mbt_ffi_load32(iter_base + 52) - index658 = index658 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index658 * 8 + let lifted1949 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - let result656 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result1948 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - array657.push(result656) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + Option::Some(result1948) + } + _ => panic() + } - let array660 : Array[String] = [] - for index661 = 0 - index661 < mbt_ffi_load32(iter_base + 60) - index661 = index661 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index661 * 8 + AgentInvocationResult::ProcessOplogEntries(FallibleResultParameters::{error : lifted1949}) + } + _ => panic() + } - let result659 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1952 : String? = match mbt_ffi_load8_u((iter_base) + 68) { + 0 => Option::None + 1 => { - array660.push(result659) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted663 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result662 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result662) - } - _ => panic() - } + let result1951 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 72), mbt_ffi_load32((iter_base) + 76)) - let lifted666 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted665 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result664 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + Option::Some(result1951) + } + _ => panic() + } - @types.Role::Other(result664) + PublicOplogEntry::AgentInvocationFinished(AgentInvocationFinishedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, result : lifted1950, method_name : lifted1952, consumed_fuel : mbt_ffi_load64((iter_base) + 80), component_revision : (mbt_ffi_load64((iter_base) + 88)).reinterpret_as_uint64()}) } - _ => panic() - } - - Option::Some(lifted665) - } - _ => panic() - } + 6 => { - array667.push(@types.UnionBranch::{ - tag: result644, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted653, - metadata: @types.MetadataEnvelope::{ - doc: lifted655, - aliases: array657, - examples: array660, - deprecated: lifted663, - role: lifted666, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array667, - }) - } - 32 => { - let lifted670 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result669 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result669) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted670, - }) - } - 33 => { - let lifted672 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result671 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result671) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted672, - }) - } - 34 => { - let lifted673 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted673) - } - 35 => { - let lifted674 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted674) - } - _ => panic() - } + PublicOplogEntry::Suspend(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}}) + } + 7 => { - let lifted677 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result676 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result676) - } - _ => panic() - } + let result1953 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - let array679 : Array[String] = [] - for index680 = 0 - index680 < mbt_ffi_load32(iter_base + 104) - index680 = index680 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index680 * 8 + let lifted1957 : RetryPolicyState? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { - let result678 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array1955 : Array[StateNode] = []; + for index1956 = 0; index1956 < (mbt_ffi_load32((iter_base) + 60)); index1956 = index1956 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index1956 * 16) - array679.push(result678) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let lifted1954 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let array682 : Array[String] = [] - for index683 = 0 - index683 < mbt_ffi_load32(iter_base + 112) - index683 = index683 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index683 * 8 + StateNode::Counter((mbt_ffi_load32((iter_base) + 4)).reinterpret_as_uint()) + } + 1 => { - let result681 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + StateNode::Terminal + } + 2 => { - array682.push(result681) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted685 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result684 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result684) - } - _ => panic() - } + StateNode::Wrapper(mbt_ffi_load32((iter_base) + 4)) + } + 3 => { - let lifted688 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted687 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result686 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result686) - } - _ => panic() - } + StateNode::CountBox(CountBoxState::{attempts : (mbt_ffi_load32((iter_base) + 4)).reinterpret_as_uint(), inner : mbt_ffi_load32((iter_base) + 8)}) + } + 4 => { - Option::Some(lifted687) - } - _ => panic() - } + StateNode::AndThen(AndThenState::{left : mbt_ffi_load32((iter_base) + 4), right : mbt_ffi_load32((iter_base) + 8), on_right : (mbt_ffi_load8_u((iter_base) + 12) != 0)}) + } + 5 => { - array689.push(@types.SchemaTypeNode::{ - body: lifted675, - metadata: @types.MetadataEnvelope::{ - doc: lifted677, - aliases: array679, - examples: array682, - deprecated: lifted685, - role: lifted688, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array694 : Array[@types.SchemaTypeDef] = [] - for index695 = 0 - index695 < mbt_ffi_load32(iter_base + 48) - index695 = index695 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index695 * 24 - - let result691 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted693 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result692 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result692) - } - _ => panic() - } + StateNode::Pair(PairState::{left : mbt_ffi_load32((iter_base) + 4), right : mbt_ffi_load32((iter_base) + 8)}) + } + _ => panic() + } - array694.push(@types.SchemaTypeDef::{ - id: result691, - name: lifted693, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array725 : Array[@types.SchemaValueNode] = [] - for index726 = 0 - index726 < mbt_ffi_load32(iter_base + 60) - index726 = index726 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + index726 * 32 - - let lifted724 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result696 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result696) - } - 13 => { - let array697 : Array[Int] = [] - for index698 = 0 - index698 < mbt_ffi_load32(iter_base + 12) - index698 = index698 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index698 * 4 - - array697.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array697) - } - 14 => { - let lifted699 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted699, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array700 : Array[Bool] = [] - for index701 = 0 - index701 < mbt_ffi_load32(iter_base + 12) - index701 = index701 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index701 * 1 - - array700.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array700) - } - 17 => { - let array702 : Array[Int] = [] - for index703 = 0 - index703 < mbt_ffi_load32(iter_base + 12) - index703 = index703 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index703 * 4 - - array702.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array702) - } - 18 => { - let array704 : Array[Int] = [] - for index705 = 0 - index705 < mbt_ffi_load32(iter_base + 12) - index705 = index705 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index705 * 4 - - array704.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array704) - } - 19 => { - let array706 : Array[Int] = [] - for index707 = 0 - index707 < mbt_ffi_load32(iter_base + 12) - index707 = index707 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index707 * 4 - - array706.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array706) - } - 20 => { - let array708 : Array[@types.MapEntry] = [] - for index709 = 0 - index709 < mbt_ffi_load32(iter_base + 12) - index709 = index709 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index709 * 8 - - array708.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array708) - } - 21 => { - let lifted710 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted710) - } - 22 => { - let lifted713 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted711 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted711) - } - 1 => { - let lifted712 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted712) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted713) - } - 23 => { - let result714 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted716 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result715 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result715) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result714, - language: lifted716, - }) - } - 24 => { - let result717 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted719 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result718 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result718) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result717, - mime_type: lifted719, - }) - } - 25 => { - let result720 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result720) - } - 26 => { - let result721 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result721) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result722 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result722, - }) - } - 30 => { - let result723 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result723, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + array1955.push(lifted1954) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - array725.push(lifted724) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array689, - defs: array694, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array725, - root: mbt_ffi_load32(iter_base + 64), - }, - }) - } - _ => panic() - } + Option::Some(RetryPolicyState::{nodes : array1955}) + } + _ => panic() + } - PublicOplogEntry::End(EndParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - response: lifted727, - forced_commit: mbt_ffi_load8_u(iter_base + 68) != 0, - }) - } - 3 => { - let lifted962 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let array924 : Array[@types.SchemaTypeNode] = [] - for index925 = 0 - index925 < mbt_ffi_load32(iter_base + 40) - index925 = index925 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index925 * 144 - - let lifted910 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted734 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted729 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted728 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::Error(ErrorParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, error : result1953, retry_from : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), inside_atomic_region : (mbt_ffi_load8_u((iter_base) + 48) != 0), retry_policy_state : lifted1957}) } + 8 => { - Option::Some(lifted728) - } - _ => panic() - } - - let lifted731 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted730 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::NoOp(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}}) } + 9 => { - Option::Some(lifted730) - } - _ => panic() - } - - let lifted733 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result732 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result732) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted729, - max: lifted731, - unit: lifted733, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted734) - } - 3 => { - let lifted741 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted736 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted735 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::Jump(JumpParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, jump : OplogRegion::{start : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), end : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}) } + 10 => { - Option::Some(lifted735) - } - _ => panic() - } - - let lifted738 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted737 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::Interrupted(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}}) } + 11 => { - Option::Some(lifted737) - } - _ => panic() - } - - let lifted740 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result739 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result739) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted736, - max: lifted738, - unit: lifted740, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted741) - } - 4 => { - let lifted748 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted743 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted742 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::Exited(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}}) } + 12 => { - Option::Some(lifted742) - } - _ => panic() - } - - let lifted745 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted744 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::BeginAtomicRegion(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}}) } + 13 => { - Option::Some(lifted744) - } - _ => panic() - } - - let lifted747 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result746 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result746) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted743, - max: lifted745, - unit: lifted747, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted748) - } - 5 => { - let lifted755 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted750 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted749 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::EndAtomicRegion(EndAtomicRegionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) } + 14 => { - Option::Some(lifted749) - } - _ => panic() - } - - let lifted752 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted751 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2470 = match (mbt_ffi_load8_u((iter_base) + 32)) { + 0 => { - Option::Some(lifted751) - } - _ => panic() - } - - let lifted754 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result753 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result753) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted750, - max: lifted752, - unit: lifted754, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted755) - } - 6 => { - let lifted762 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted757 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted756 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result1958 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(lifted756) - } - _ => panic() - } - - let lifted759 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted758 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2155 : Array[@types.SchemaTypeNode] = []; + for index2156 = 0; index2156 < (mbt_ffi_load32((iter_base) + 52)); index2156 = index2156 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2156 * 144) - Option::Some(lifted758) - } - _ => panic() - } - - let lifted761 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result760 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result760) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted757, - max: lifted759, - unit: lifted761, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted762) - } - 7 => { - let lifted769 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted764 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted763 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2141 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted763) - } - _ => panic() - } - - let lifted766 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted765 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { - Option::Some(lifted765) - } - _ => panic() - } - - let lifted768 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result767 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result767) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted764, - max: lifted766, - unit: lifted768, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted769) - } - 8 => { - let lifted776 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted771 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted770 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::BoolType + } + 2 => { - Option::Some(lifted770) - } - _ => panic() - } - - let lifted773 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted772 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1965 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted772) - } - _ => panic() - } - - let lifted775 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result774 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result774) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted771, - max: lifted773, - unit: lifted775, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted776) - } - 9 => { - let lifted783 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted778 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted777 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1960 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted777) - } - _ => panic() - } - - let lifted780 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted779 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted1959 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - Option::Some(lifted779) - } - _ => panic() - } - - let lifted782 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result781 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result781) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted778, - max: lifted780, - unit: lifted782, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted783) - } - 10 => { - let lifted790 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted785 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted784 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - Option::Some(lifted784) - } - _ => panic() - } - - let lifted787 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted786 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - Option::Some(lifted786) - } - _ => panic() - } - - let lifted789 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result788 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result788) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted785, - max: lifted787, - unit: lifted789, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted790) - } - 11 => { - let lifted797 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted792 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted791 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - Option::Some(lifted791) - } - _ => panic() - } - - let lifted794 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted793 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted1959) + } + _ => panic() + } - Option::Some(lifted793) - } - _ => panic() - } - - let lifted796 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result795 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result795) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted792, - max: lifted794, - unit: lifted796, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted797) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array812 : Array[@types.NamedFieldType] = [] - for index813 = 0 - index813 < mbt_ffi_load32(iter_base + 12) - index813 = index813 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index813 * 68 - - let result798 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted800 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result799 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result799) - } - _ => panic() - } + let lifted1962 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - let array802 : Array[String] = [] - for index803 = 0 - index803 < mbt_ffi_load32(iter_base + 28) - index803 = index803 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index803 * 8 + let lifted1961 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - let result801 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - array802.push(result801) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - let array805 : Array[String] = [] - for index806 = 0 - index806 < mbt_ffi_load32(iter_base + 36) - index806 = index806 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index806 * 8 + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - let result804 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(lifted1961) + } + _ => panic() + } - array805.push(result804) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted808 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result807 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result807) - } - _ => panic() - } + let lifted1964 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let lifted811 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted810 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result809 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let result1963 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - @types.Role::Other(result809) - } - _ => panic() - } + Option::Some(result1963) + } + _ => panic() + } - Option::Some(lifted810) - } - _ => panic() - } + Option::Some(@types.NumericRestrictions::{min : lifted1960, max : lifted1962, unit : lifted1964}) + } + _ => panic() + } - array812.push(@types.NamedFieldType::{ - name: result798, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted800, - aliases: array802, - examples: array805, - deprecated: lifted808, - role: lifted811, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array812) - } - 15 => { - let array829 : Array[@types.VariantCaseType] = [] - for index830 = 0 - index830 < mbt_ffi_load32(iter_base + 12) - index830 = index830 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index830 * 72 - - let result814 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted815 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaTypeBody::S8Type(lifted1965) + } + 3 => { - let lifted817 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result816 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result816) - } - _ => panic() - } + let lifted1972 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array819 : Array[String] = [] - for index820 = 0 - index820 < mbt_ffi_load32(iter_base + 32) - index820 = index820 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index820 * 8 + let lifted1967 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let result818 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted1966 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - array819.push(result818) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - let array822 : Array[String] = [] - for index823 = 0 - index823 < mbt_ffi_load32(iter_base + 40) - index823 = index823 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index823 * 8 + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1966) + } + _ => panic() + } + + let lifted1969 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1968 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1968) + } + _ => panic() + } + + let lifted1971 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1970 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1970) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1967, max : lifted1969, unit : lifted1971}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted1972) + } + 4 => { + + let lifted1979 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1974 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1973 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1973) + } + _ => panic() + } + + let lifted1976 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1975 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1975) + } + _ => panic() + } + + let lifted1978 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1977 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1977) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1974, max : lifted1976, unit : lifted1978}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted1979) + } + 5 => { + + let lifted1986 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1981 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1980 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1980) + } + _ => panic() + } + + let lifted1983 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1982 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1982) + } + _ => panic() + } + + let lifted1985 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1984 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1984) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1981, max : lifted1983, unit : lifted1985}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted1986) + } + 6 => { + + let lifted1993 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1988 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1987 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1987) + } + _ => panic() + } + + let lifted1990 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1989 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1989) + } + _ => panic() + } + + let lifted1992 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1991 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1991) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1988, max : lifted1990, unit : lifted1992}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted1993) + } + 7 => { + + let lifted2000 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted1995 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted1994 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1994) + } + _ => panic() + } + + let lifted1997 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted1996 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted1996) + } + _ => panic() + } + + let lifted1999 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result1998 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result1998) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted1995, max : lifted1997, unit : lifted1999}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2000) + } + 8 => { + + let lifted2007 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2002 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2001 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2001) + } + _ => panic() + } + + let lifted2004 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2003 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2003) + } + _ => panic() + } + + let lifted2006 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2005 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2005) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2002, max : lifted2004, unit : lifted2006}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2007) + } + 9 => { + + let lifted2014 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2009 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2008 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2008) + } + _ => panic() + } + + let lifted2011 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2010 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2010) + } + _ => panic() + } + + let lifted2013 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2012 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2012) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2009, max : lifted2011, unit : lifted2013}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2014) + } + 10 => { + + let lifted2021 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2016 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2015 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2015) + } + _ => panic() + } + + let lifted2018 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2017 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2017) + } + _ => panic() + } + + let lifted2020 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2019 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2019) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2016, max : lifted2018, unit : lifted2020}) + } + _ => panic() + } - let result821 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::F32Type(lifted2021) + } + 11 => { - array822.push(result821) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted825 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result824 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result824) - } - _ => panic() - } + let lifted2028 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted828 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted827 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result826 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let lifted2023 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - @types.Role::Other(result826) - } - _ => panic() - } + let lifted2022 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - Option::Some(lifted827) - } - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - array829.push(@types.VariantCaseType::{ - name: result814, - payload: lifted815, - metadata: @types.MetadataEnvelope::{ - doc: lifted817, - aliases: array819, - examples: array822, - deprecated: lifted825, - role: lifted828, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array829) - } - 16 => { - let array832 : Array[String] = [] - for index833 = 0 - index833 < mbt_ffi_load32(iter_base + 12) - index833 = index833 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index833 * 8 - - let result831 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array832.push(result831) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array832) - } - 17 => { - let array835 : Array[String] = [] - for index836 = 0 - index836 < mbt_ffi_load32(iter_base + 12) - index836 = index836 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index836 * 8 - - let result834 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array835.push(result834) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array835) - } - 18 => { - let array837 : Array[Int] = [] - for index838 = 0 - index838 < mbt_ffi_load32(iter_base + 12) - index838 = index838 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index838 * 4 - - array837.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array837) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted839 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted840 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted839, - err: lifted840, - }) - } - 24 => { - let lifted844 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array842 : Array[String] = [] - for index843 = 0 - index843 < mbt_ffi_load32(iter_base + 16) - index843 = index843 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index843 * 8 - - let result841 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array842.push(result841) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array842) - } - _ => panic() - } - - let lifted845 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted846 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted848 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result847 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result847) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted844, - min_length: lifted845, - max_length: lifted846, - regex: lifted848, - }) - } - 25 => { - let lifted852 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array850 : Array[String] = [] - for index851 = 0 - index851 < mbt_ffi_load32(iter_base + 16) - index851 = index851 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index851 * 8 - - let result849 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array850.push(result849) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array850) - } - _ => panic() - } - - let lifted853 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted854 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted852, - min_bytes: lifted853, - max_bytes: lifted854, - }) - } - 26 => { - let lifted858 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array856 : Array[String] = [] - for index857 = 0 - index857 < mbt_ffi_load32(iter_base + 20) - index857 = index857 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index857 * 8 - - let result855 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array856.push(result855) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array856) - } - _ => panic() - } - - let lifted862 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array860 : Array[String] = [] - for index861 = 0 - index861 < mbt_ffi_load32(iter_base + 32) - index861 = index861 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index861 * 8 - - let result859 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array860.push(result859) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array860) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted858, - allowed_extensions: lifted862, - }) - } - 27 => { - let lifted866 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array864 : Array[String] = [] - for index865 = 0 - index865 < mbt_ffi_load32(iter_base + 16) - index865 = index865 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index865 * 8 - - let result863 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array864.push(result863) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array864) - } - _ => panic() - } - - let lifted870 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array868 : Array[String] = [] - for index869 = 0 - index869 < mbt_ffi_load32(iter_base + 28) - index869 = index869 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index869 * 8 - - let result867 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array868.push(result867) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array868) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted866, - allowed_hosts: lifted870, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result871 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array873 : Array[String] = [] - for index874 = 0 - index874 < mbt_ffi_load32(iter_base + 20) - index874 = index874 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index874 * 8 - - let result872 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array873.push(result872) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted876 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result875 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result875, - }) - } - _ => panic() - } - - let lifted878 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result877 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result877, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result871, - allowed_suffixes: array873, - min: lifted876, - max: lifted878, - }) - } - 31 => { - let array902 : Array[@types.UnionBranch] = [] - for index903 = 0 - index903 < mbt_ffi_load32(iter_base + 12) - index903 = index903 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index903 * 92 - - let result879 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted888 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result880 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result880) - } - 1 => { - let result881 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result881) - } - 2 => { - let result882 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result882) - } - 3 => { - let result883 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result883) - } - 4 => { - let result884 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted886 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result885 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - Option::Some(result885) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result884, - literal: lifted886, - }) - } - 5 => { - let result887 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result887) - } - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - let lifted890 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result889 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result889) - } - _ => panic() - } + Option::Some(lifted2022) + } + _ => panic() + } - let array892 : Array[String] = [] - for index893 = 0 - index893 < mbt_ffi_load32(iter_base + 52) - index893 = index893 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index893 * 8 + let lifted2025 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - let result891 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2024 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - array892.push(result891) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - let array895 : Array[String] = [] - for index896 = 0 - index896 < mbt_ffi_load32(iter_base + 60) - index896 = index896 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index896 * 8 + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - let result894 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - array895.push(result894) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted898 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result897 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result897) - } - _ => panic() - } + Option::Some(lifted2024) + } + _ => panic() + } - let lifted901 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted900 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result899 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let lifted2027 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - @types.Role::Other(result899) - } - _ => panic() - } + let result2026 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - Option::Some(lifted900) - } - _ => panic() - } + Option::Some(result2026) + } + _ => panic() + } - array902.push(@types.UnionBranch::{ - tag: result879, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted888, - metadata: @types.MetadataEnvelope::{ - doc: lifted890, - aliases: array892, - examples: array895, - deprecated: lifted898, - role: lifted901, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array902, - }) - } - 32 => { - let lifted905 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result904 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result904) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted905, - }) - } - 33 => { - let lifted907 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result906 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result906) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted907, - }) - } - 34 => { - let lifted908 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted908) - } - 35 => { - let lifted909 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted909) - } - _ => panic() - } + Option::Some(@types.NumericRestrictions::{min : lifted2023, max : lifted2025, unit : lifted2027}) + } + _ => panic() + } - let lifted912 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result911 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result911) - } - _ => panic() - } + @types.SchemaTypeBody::F64Type(lifted2028) + } + 12 => { - let array914 : Array[String] = [] - for index915 = 0 - index915 < mbt_ffi_load32(iter_base + 104) - index915 = index915 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index915 * 8 + @types.SchemaTypeBody::CharType + } + 13 => { - let result913 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::StringType + } + 14 => { - array914.push(result913) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let array2043 : Array[@types.NamedFieldType] = []; + for index2044 = 0; index2044 < (mbt_ffi_load32((iter_base) + 12)); index2044 = index2044 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2044 * 68) - let array917 : Array[String] = [] - for index918 = 0 - index918 < mbt_ffi_load32(iter_base + 112) - index918 = index918 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index918 * 8 + let result2029 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result916 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2031 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - array917.push(result916) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted920 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result919 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result919) - } - _ => panic() - } + let result2030 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted923 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted922 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result921 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result921) - } - _ => panic() - } + Option::Some(result2030) + } + _ => panic() + } - Option::Some(lifted922) - } - _ => panic() - } + let array2033 : Array[String] = []; + for index2034 = 0; index2034 < (mbt_ffi_load32((iter_base) + 28)); index2034 = index2034 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2034 * 8) - array924.push(@types.SchemaTypeNode::{ - body: lifted910, - metadata: @types.MetadataEnvelope::{ - doc: lifted912, - aliases: array914, - examples: array917, - deprecated: lifted920, - role: lifted923, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array929 : Array[@types.SchemaTypeDef] = [] - for index930 = 0 - index930 < mbt_ffi_load32(iter_base + 48) - index930 = index930 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index930 * 24 - - let result926 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted928 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result927 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result927) - } - _ => panic() - } + let result2032 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array929.push(@types.SchemaTypeDef::{ - id: result926, - name: lifted928, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array960 : Array[@types.SchemaValueNode] = [] - for index961 = 0 - index961 < mbt_ffi_load32(iter_base + 60) - index961 = index961 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + index961 * 32 - - let lifted959 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result931 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result931) - } - 13 => { - let array932 : Array[Int] = [] - for index933 = 0 - index933 < mbt_ffi_load32(iter_base + 12) - index933 = index933 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index933 * 4 - - array932.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array932) - } - 14 => { - let lifted934 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted934, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array935 : Array[Bool] = [] - for index936 = 0 - index936 < mbt_ffi_load32(iter_base + 12) - index936 = index936 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index936 * 1 - - array935.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array935) - } - 17 => { - let array937 : Array[Int] = [] - for index938 = 0 - index938 < mbt_ffi_load32(iter_base + 12) - index938 = index938 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index938 * 4 - - array937.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array937) - } - 18 => { - let array939 : Array[Int] = [] - for index940 = 0 - index940 < mbt_ffi_load32(iter_base + 12) - index940 = index940 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index940 * 4 - - array939.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array939) - } - 19 => { - let array941 : Array[Int] = [] - for index942 = 0 - index942 < mbt_ffi_load32(iter_base + 12) - index942 = index942 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index942 * 4 - - array941.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array941) - } - 20 => { - let array943 : Array[@types.MapEntry] = [] - for index944 = 0 - index944 < mbt_ffi_load32(iter_base + 12) - index944 = index944 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index944 * 8 - - array943.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array943) - } - 21 => { - let lifted945 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted945) - } - 22 => { - let lifted948 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted946 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted946) - } - 1 => { - let lifted947 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted947) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted948) - } - 23 => { - let result949 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted951 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result950 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result950) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result949, - language: lifted951, - }) - } - 24 => { - let result952 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted954 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result953 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result953) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result952, - mime_type: lifted954, - }) - } - 25 => { - let result955 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result955) - } - 26 => { - let result956 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result956) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result957 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result957, - }) - } - 30 => { - let result958 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result958, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + array2033.push(result2032) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - array960.push(lifted959) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array924, - defs: array929, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array960, - root: mbt_ffi_load32(iter_base + 64), - }, - }) - } - _ => panic() - } + let array2036 : Array[String] = []; + for index2037 = 0; index2037 < (mbt_ffi_load32((iter_base) + 36)); index2037 = index2037 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2037 * 8) - PublicOplogEntry::Cancelled(CancelledParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - partial: lifted962, - }) - } - 4 => { - let lifted1475 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => { - let result963 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let array1160 : Array[@types.SchemaTypeNode] = [] - for index1161 = 0 - index1161 < mbt_ffi_load32(iter_base + 44) - index1161 = index1161 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 40) + - index1161 * 144 - - let lifted1146 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted970 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted965 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted964 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2035 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted964) - } - _ => panic() - } - - let lifted967 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted966 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2036.push(result2035) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) - Option::Some(lifted966) - } - _ => panic() - } - - let lifted969 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result968 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result968) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted965, - max: lifted967, - unit: lifted969, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted970) - } - 3 => { - let lifted977 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted972 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted971 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2039 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - Option::Some(lifted971) - } - _ => panic() - } - - let lifted974 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted973 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2038 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - Option::Some(lifted973) - } - _ => panic() - } - - let lifted976 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result975 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result975) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted972, - max: lifted974, - unit: lifted976, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted977) - } - 4 => { - let lifted984 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted979 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted978 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2038) + } + _ => panic() + } - Option::Some(lifted978) - } - _ => panic() - } - - let lifted981 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted980 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2042 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { - Option::Some(lifted980) - } - _ => panic() - } - - let lifted983 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result982 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result982) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted979, - max: lifted981, - unit: lifted983, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted984) - } - 5 => { - let lifted991 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted986 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted985 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2041 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { - Option::Some(lifted985) - } - _ => panic() - } - - let lifted988 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted987 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted987) - } - _ => panic() - } - - let lifted990 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result989 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result989) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted986, - max: lifted988, - unit: lifted990, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted991) - } - 6 => { - let lifted998 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted993 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted992 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - Option::Some(lifted992) - } - _ => panic() - } - - let lifted995 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted994 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted994) - } - _ => panic() - } - - let lifted997 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result996 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result996) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted993, - max: lifted995, - unit: lifted997, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted998) - } - 7 => { - let lifted1005 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1000 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted999 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2040 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) - Option::Some(lifted999) - } - _ => panic() - } - - let lifted1002 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1001 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Other(result2040) + } + _ => panic() + } - Option::Some(lifted1001) - } - _ => panic() - } - - let lifted1004 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1003 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1003) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1000, - max: lifted1002, - unit: lifted1004, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1005) - } - 8 => { - let lifted1012 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1007 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1006 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted2041) + } + _ => panic() + } - Option::Some(lifted1006) - } - _ => panic() - } - - let lifted1009 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1008 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2043.push(@types.NamedFieldType::{name : result2029, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2031, aliases : array2033, examples : array2036, deprecated : lifted2039, role : lifted2042}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted1008) - } - _ => panic() - } - - let lifted1011 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1010 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1010) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1007, - max: lifted1009, - unit: lifted1011, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1012) - } - 9 => { - let lifted1019 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1014 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1013 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::RecordType(array2043) + } + 15 => { - Option::Some(lifted1013) - } - _ => panic() - } - - let lifted1016 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1015 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2060 : Array[@types.VariantCaseType] = []; + for index2061 = 0; index2061 < (mbt_ffi_load32((iter_base) + 12)); index2061 = index2061 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2061 * 72) - Option::Some(lifted1015) - } - _ => panic() - } - - let lifted1018 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1017 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1017) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1014, - max: lifted1016, - unit: lifted1018, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1019) - } - 10 => { - let lifted1026 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1021 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1020 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2045 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1020) - } - _ => panic() - } - - let lifted1023 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1022 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2046 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1022) - } - _ => panic() - } - - let lifted1025 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1024 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1024) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1021, - max: lifted1023, - unit: lifted1025, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1026) - } - 11 => { - let lifted1033 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1028 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1027 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted1027) - } - _ => panic() - } - - let lifted1030 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1029 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2048 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1029) - } - _ => panic() - } - - let lifted1032 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1031 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1031) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1028, - max: lifted1030, - unit: lifted1032, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1033) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1048 : Array[@types.NamedFieldType] = [] - for index1049 = 0 - index1049 < mbt_ffi_load32(iter_base + 12) - index1049 = index1049 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1049 * 68 - - let result1034 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1036 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1035 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1035) - } - _ => panic() - } + let result2047 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let array1038 : Array[String] = [] - for index1039 = 0 - index1039 < mbt_ffi_load32(iter_base + 28) - index1039 = index1039 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1039 * 8 + Option::Some(result2047) + } + _ => panic() + } - let result1037 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2050 : Array[String] = []; + for index2051 = 0; index2051 < (mbt_ffi_load32((iter_base) + 32)); index2051 = index2051 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2051 * 8) - array1038.push(result1037) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let result2049 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let array1041 : Array[String] = [] - for index1042 = 0 - index1042 < mbt_ffi_load32(iter_base + 36) - index1042 = index1042 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1042 * 8 + array2050.push(result2049) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - let result1040 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2053 : Array[String] = []; + for index2054 = 0; index2054 < (mbt_ffi_load32((iter_base) + 40)); index2054 = index2054 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2054 * 8) - array1041.push(result1040) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1044 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1043 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1043) - } - _ => panic() - } + let result2052 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted1047 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1046 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1045 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + array2053.push(result2052) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - @types.Role::Other(result1045) - } - _ => panic() - } + let lifted2056 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { - Option::Some(lifted1046) - } - _ => panic() - } + let result2055 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - array1048.push(@types.NamedFieldType::{ - name: result1034, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1036, - aliases: array1038, - examples: array1041, - deprecated: lifted1044, - role: lifted1047, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1048) - } - 15 => { - let array1065 : Array[@types.VariantCaseType] = [] - for index1066 = 0 - index1066 < mbt_ffi_load32(iter_base + 12) - index1066 = index1066 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1066 * 72 - - let result1050 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1051 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + Option::Some(result2055) + } + _ => panic() + } - let lifted1053 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1052 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1052) - } - _ => panic() - } + let lifted2059 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - let array1055 : Array[String] = [] - for index1056 = 0 - index1056 < mbt_ffi_load32(iter_base + 32) - index1056 = index1056 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1056 * 8 + let lifted2058 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { - let result1054 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.Role::Multimodal + } + 1 => { - array1055.push(result1054) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.Role::UnstructuredText + } + 2 => { - let array1058 : Array[String] = [] - for index1059 = 0 - index1059 < mbt_ffi_load32(iter_base + 40) - index1059 = index1059 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1059 * 8 + @types.Role::UnstructuredBinary + } + 3 => { - let result1057 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2057 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) - array1058.push(result1057) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1061 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1060 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1060) - } - _ => panic() - } + @types.Role::Other(result2057) + } + _ => panic() + } - let lifted1064 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1063 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1062 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + Option::Some(lifted2058) + } + _ => panic() + } - @types.Role::Other(result1062) - } - _ => panic() - } + array2060.push(@types.VariantCaseType::{name : result2045, payload : lifted2046, metadata : @types.MetadataEnvelope::{doc : lifted2048, aliases : array2050, examples : array2053, deprecated : lifted2056, role : lifted2059}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted1063) - } - _ => panic() - } + @types.SchemaTypeBody::VariantType(array2060) + } + 16 => { - array1065.push(@types.VariantCaseType::{ - name: result1050, - payload: lifted1051, - metadata: @types.MetadataEnvelope::{ - doc: lifted1053, - aliases: array1055, - examples: array1058, - deprecated: lifted1061, - role: lifted1064, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1065) - } - 16 => { - let array1068 : Array[String] = [] - for index1069 = 0 - index1069 < mbt_ffi_load32(iter_base + 12) - index1069 = index1069 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1069 * 8 - - let result1067 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1068.push(result1067) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1068) - } - 17 => { - let array1071 : Array[String] = [] - for index1072 = 0 - index1072 < mbt_ffi_load32(iter_base + 12) - index1072 = index1072 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1072 * 8 - - let result1070 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1071.push(result1070) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1071) - } - 18 => { - let array1073 : Array[Int] = [] - for index1074 = 0 - index1074 < mbt_ffi_load32(iter_base + 12) - index1074 = index1074 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1074 * 4 - - array1073.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1073) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1075 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1076 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1075, - err: lifted1076, - }) - } - 24 => { - let lifted1080 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1078 : Array[String] = [] - for index1079 = 0 - index1079 < mbt_ffi_load32(iter_base + 16) - index1079 = index1079 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1079 * 8 - - let result1077 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1078.push(result1077) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1078) - } - _ => panic() - } - - let lifted1081 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1082 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1084 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1083 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1083) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1080, - min_length: lifted1081, - max_length: lifted1082, - regex: lifted1084, - }) - } - 25 => { - let lifted1088 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1086 : Array[String] = [] - for index1087 = 0 - index1087 < mbt_ffi_load32(iter_base + 16) - index1087 = index1087 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1087 * 8 - - let result1085 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1086.push(result1085) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1086) - } - _ => panic() - } - - let lifted1089 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1090 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1088, - min_bytes: lifted1089, - max_bytes: lifted1090, - }) - } - 26 => { - let lifted1094 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1092 : Array[String] = [] - for index1093 = 0 - index1093 < mbt_ffi_load32(iter_base + 20) - index1093 = index1093 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1093 * 8 - - let result1091 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1092.push(result1091) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1092) - } - _ => panic() - } - - let lifted1098 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1096 : Array[String] = [] - for index1097 = 0 - index1097 < mbt_ffi_load32(iter_base + 32) - index1097 = index1097 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1097 * 8 - - let result1095 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1096.push(result1095) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1096) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1094, - allowed_extensions: lifted1098, - }) - } - 27 => { - let lifted1102 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1100 : Array[String] = [] - for index1101 = 0 - index1101 < mbt_ffi_load32(iter_base + 16) - index1101 = index1101 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1101 * 8 - - let result1099 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1100.push(result1099) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1100) - } - _ => panic() - } - - let lifted1106 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1104 : Array[String] = [] - for index1105 = 0 - index1105 < mbt_ffi_load32(iter_base + 28) - index1105 = index1105 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1105 * 8 - - let result1103 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1104.push(result1103) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1104) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1102, - allowed_hosts: lifted1106, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1107 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1109 : Array[String] = [] - for index1110 = 0 - index1110 < mbt_ffi_load32(iter_base + 20) - index1110 = index1110 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1110 * 8 - - let result1108 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1109.push(result1108) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1112 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1111 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1111, - }) - } - _ => panic() - } - - let lifted1114 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1113 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1113, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1107, - allowed_suffixes: array1109, - min: lifted1112, - max: lifted1114, - }) - } - 31 => { - let array1138 : Array[@types.UnionBranch] = [] - for index1139 = 0 - index1139 < mbt_ffi_load32(iter_base + 12) - index1139 = index1139 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1139 * 92 - - let result1115 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1124 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1116 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1116) - } - 1 => { - let result1117 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1117) - } - 2 => { - let result1118 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1118) - } - 3 => { - let result1119 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1119) - } - 4 => { - let result1120 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1122 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1121 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let array2063 : Array[String] = []; + for index2064 = 0; index2064 < (mbt_ffi_load32((iter_base) + 12)); index2064 = index2064 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2064 * 8) - Option::Some(result1121) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1120, - literal: lifted1122, - }) - } - 5 => { - let result1123 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1123) - } - _ => panic() - } + let result2062 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted1126 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1125 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1125) - } - _ => panic() - } + array2063.push(result2062) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array1128 : Array[String] = [] - for index1129 = 0 - index1129 < mbt_ffi_load32(iter_base + 52) - index1129 = index1129 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1129 * 8 + @types.SchemaTypeBody::EnumType(array2063) + } + 17 => { - let result1127 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2066 : Array[String] = []; + for index2067 = 0; index2067 < (mbt_ffi_load32((iter_base) + 12)); index2067 = index2067 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2067 * 8) - array1128.push(result1127) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let result2065 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let array1131 : Array[String] = [] - for index1132 = 0 - index1132 < mbt_ffi_load32(iter_base + 60) - index1132 = index1132 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1132 * 8 + array2066.push(result2065) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let result1130 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::FlagsType(array2066) + } + 18 => { - array1131.push(result1130) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1134 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1133 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1133) - } - _ => panic() - } + let array2068 : Array[Int] = []; + for index2069 = 0; index2069 < (mbt_ffi_load32((iter_base) + 12)); index2069 = index2069 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2069 * 4) - let lifted1137 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1136 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1135 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + array2068.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @types.Role::Other(result1135) - } - _ => panic() - } + @types.SchemaTypeBody::TupleType(array2068) + } + 19 => { - Option::Some(lifted1136) - } - _ => panic() - } + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { - array1138.push(@types.UnionBranch::{ - tag: result1115, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1124, - metadata: @types.MetadataEnvelope::{ - doc: lifted1126, - aliases: array1128, - examples: array1131, - deprecated: lifted1134, - role: lifted1137, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1138, - }) - } - 32 => { - let lifted1141 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1140 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1140) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1141, - }) - } - 33 => { - let lifted1143 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1142 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1142) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1143, - }) - } - 34 => { - let lifted1144 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1144) - } - 35 => { - let lifted1145 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1145) - } - _ => panic() - } + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { - let lifted1148 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1147 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1147) - } - _ => panic() - } + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { - let array1150 : Array[String] = [] - for index1151 = 0 - index1151 < mbt_ffi_load32(iter_base + 104) - index1151 = index1151 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1151 * 8 + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { - let result1149 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2070 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - array1150.push(result1149) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let array1153 : Array[String] = [] - for index1154 = 0 - index1154 < mbt_ffi_load32(iter_base + 112) - index1154 = index1154 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1154 * 8 + let lifted2071 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let result1152 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } - array1153.push(result1152) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1156 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1155 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1155) - } - _ => panic() - } + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2070, err : lifted2071}) + } + 24 => { - let lifted1159 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1158 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1157 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1157) - } - _ => panic() - } + let lifted2075 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1158) - } - _ => panic() - } + let array2073 : Array[String] = []; + for index2074 = 0; index2074 < (mbt_ffi_load32((iter_base) + 16)); index2074 = index2074 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2074 * 8) - array1160.push(@types.SchemaTypeNode::{ - body: lifted1146, - metadata: @types.MetadataEnvelope::{ - doc: lifted1148, - aliases: array1150, - examples: array1153, - deprecated: lifted1156, - role: lifted1159, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 40)) - - let array1165 : Array[@types.SchemaTypeDef] = [] - for index1166 = 0 - index1166 < mbt_ffi_load32(iter_base + 52) - index1166 = index1166 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1166 * 24 - - let result1162 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1164 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1163 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1163) - } - _ => panic() - } + let result2072 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array1165.push(@types.SchemaTypeDef::{ - id: result1162, - name: lifted1164, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array1196 : Array[@types.SchemaValueNode] = [] - for index1197 = 0 - index1197 < mbt_ffi_load32(iter_base + 64) - index1197 = index1197 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + - index1197 * 32 - - let lifted1195 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1167 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1167) - } - 13 => { - let array1168 : Array[Int] = [] - for index1169 = 0 - index1169 < mbt_ffi_load32(iter_base + 12) - index1169 = index1169 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1169 * 4 - - array1168.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1168) - } - 14 => { - let lifted1170 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1170, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1171 : Array[Bool] = [] - for index1172 = 0 - index1172 < mbt_ffi_load32(iter_base + 12) - index1172 = index1172 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1172 * 1 - - array1171.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1171) - } - 17 => { - let array1173 : Array[Int] = [] - for index1174 = 0 - index1174 < mbt_ffi_load32(iter_base + 12) - index1174 = index1174 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1174 * 4 - - array1173.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1173) - } - 18 => { - let array1175 : Array[Int] = [] - for index1176 = 0 - index1176 < mbt_ffi_load32(iter_base + 12) - index1176 = index1176 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1176 * 4 - - array1175.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1175) - } - 19 => { - let array1177 : Array[Int] = [] - for index1178 = 0 - index1178 < mbt_ffi_load32(iter_base + 12) - index1178 = index1178 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1178 * 4 - - array1177.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1177) - } - 20 => { - let array1179 : Array[@types.MapEntry] = [] - for index1180 = 0 - index1180 < mbt_ffi_load32(iter_base + 12) - index1180 = index1180 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1180 * 8 - - array1179.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1179) - } - 21 => { - let lifted1181 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1181) - } - 22 => { - let lifted1184 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1182 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1182) - } - 1 => { - let lifted1183 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1183) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1184) - } - 23 => { - let result1185 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1187 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1186 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1186) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1185, - language: lifted1187, - }) - } - 24 => { - let result1188 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1190 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1189 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1189) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1188, - mime_type: lifted1190, - }) - } - 25 => { - let result1191 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1191) - } - 26 => { - let result1192 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1192) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1193 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1193, - }) - } - 30 => { - let result1194 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1194, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + array2073.push(result2072) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - array1196.push(lifted1195) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - let result1198 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 72), - mbt_ffi_load32(iter_base + 76), - ) - - let array1200 : Array[String] = [] - for index1201 = 0 - index1201 < mbt_ffi_load32(iter_base + 84) - index1201 = index1201 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 80) + index1201 * 8 - - let result1199 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1200.push(result1199) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 80)) - - let array1215 : Array[Array[SpanData]] = [] - for index1216 = 0 - index1216 < mbt_ffi_load32(iter_base + 92) - index1216 = index1216 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index1216 * 8 - - let array1213 : Array[SpanData] = [] - for index1214 = 0 - index1214 < mbt_ffi_load32(iter_base + 4) - index1214 = index1214 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index1214 * 80 - - let lifted1212 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result1202 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1204 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result1203 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result1203) - } - _ => panic() - } + Option::Some(array2073) + } + _ => panic() + } - let lifted1205 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2076 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - let array1209 : Array[@context.Attribute] = [] - for index1210 = 0 - index1210 < mbt_ffi_load32(iter_base + 68) - index1210 = index1210 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index1210 * 20 - - let result1206 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1208 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result1207 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result1207) - } - _ => panic() - } - - array1209.push(@context.Attribute::{ - key: result1206, - value: lifted1208, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result1202, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted1204, - linked_context: lifted1205, - attributes: array1209, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result1211 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result1211, - }) - } - _ => panic() - } - - array1213.push(lifted1212) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array1215.push(array1213) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - AgentInvocation::AgentInitialization(AgentInitializationParameters::{ - idempotency_key: result963, - constructor_parameters: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1160, - defs: array1165, - root: mbt_ffi_load32(iter_base + 56), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1196, - root: mbt_ffi_load32(iter_base + 68), - }, - }, - trace_id: result1198, - trace_states: array1200, - invocation_context: array1215, - }) - } - 1 => { - let result1217 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result1218 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array1415 : Array[@types.SchemaTypeNode] = [] - for index1416 = 0 - index1416 < mbt_ffi_load32(iter_base + 52) - index1416 = index1416 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1416 * 144 - - let lifted1401 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1225 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1220 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1219 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted1219) - } - _ => panic() - } - - let lifted1222 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1221 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2077 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - Option::Some(lifted1221) - } - _ => panic() - } - - let lifted1224 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1223 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1223) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1220, - max: lifted1222, - unit: lifted1224, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1225) - } - 3 => { - let lifted1232 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1227 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1226 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted1226) - } - _ => panic() - } - - let lifted1229 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1228 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2079 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - Option::Some(lifted1228) - } - _ => panic() - } - - let lifted1231 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1230 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1230) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1227, - max: lifted1229, - unit: lifted1231, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1232) - } - 4 => { - let lifted1239 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1234 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1233 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2078 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(lifted1233) - } - _ => panic() - } - - let lifted1236 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1235 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2078) + } + _ => panic() + } - Option::Some(lifted1235) - } - _ => panic() - } - - let lifted1238 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1237 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1237) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1234, - max: lifted1236, - unit: lifted1238, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1239) - } - 5 => { - let lifted1246 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1241 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1240 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2075, min_length : lifted2076, max_length : lifted2077, regex : lifted2079}) + } + 25 => { - Option::Some(lifted1240) - } - _ => panic() - } - - let lifted1243 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1242 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2083 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1242) - } - _ => panic() - } - - let lifted1245 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1244 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1244) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1241, - max: lifted1243, - unit: lifted1245, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1246) - } - 6 => { - let lifted1253 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1248 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1247 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2081 : Array[String] = []; + for index2082 = 0; index2082 < (mbt_ffi_load32((iter_base) + 16)); index2082 = index2082 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2082 * 8) - Option::Some(lifted1247) - } - _ => panic() - } - - let lifted1250 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1249 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2080 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1249) - } - _ => panic() - } - - let lifted1252 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1251 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1251) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1248, - max: lifted1250, - unit: lifted1252, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1253) - } - 7 => { - let lifted1260 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1255 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1254 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2081.push(result2080) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1254) - } - _ => panic() - } - - let lifted1257 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1256 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array2081) + } + _ => panic() + } - Option::Some(lifted1256) - } - _ => panic() - } - - let lifted1259 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1258 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1258) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1255, - max: lifted1257, - unit: lifted1259, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1260) - } - 8 => { - let lifted1267 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1262 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1261 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2084 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(lifted1261) - } - _ => panic() - } - - let lifted1264 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1263 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted1263) - } - _ => panic() - } - - let lifted1266 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1265 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1265) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1262, - max: lifted1264, - unit: lifted1266, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1267) - } - 9 => { - let lifted1274 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1269 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1268 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2085 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - Option::Some(lifted1268) - } - _ => panic() - } - - let lifted1271 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1270 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted1270) - } - _ => panic() - } - - let lifted1273 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1272 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1272) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1269, - max: lifted1271, - unit: lifted1273, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1274) - } - 10 => { - let lifted1281 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1276 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1275 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2083, min_bytes : lifted2084, max_bytes : lifted2085}) + } + 26 => { - Option::Some(lifted1275) - } - _ => panic() - } - - let lifted1278 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1277 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2089 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted1277) - } - _ => panic() - } - - let lifted1280 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1279 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1279) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1276, - max: lifted1278, - unit: lifted1280, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1281) - } - 11 => { - let lifted1288 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1283 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1282 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2087 : Array[String] = []; + for index2088 = 0; index2088 < (mbt_ffi_load32((iter_base) + 20)); index2088 = index2088 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2088 * 8) - Option::Some(lifted1282) - } - _ => panic() - } - - let lifted1285 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1284 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2086 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1284) - } - _ => panic() - } - - let lifted1287 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1286 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1286) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1283, - max: lifted1285, - unit: lifted1287, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1288) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1303 : Array[@types.NamedFieldType] = [] - for index1304 = 0 - index1304 < mbt_ffi_load32(iter_base + 12) - index1304 = index1304 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1304 * 68 - - let result1289 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1291 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1290 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1290) - } - _ => panic() - } + array2087.push(result2086) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - let array1293 : Array[String] = [] - for index1294 = 0 - index1294 < mbt_ffi_load32(iter_base + 28) - index1294 = index1294 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1294 * 8 + Option::Some(array2087) + } + _ => panic() + } - let result1292 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2093 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - array1293.push(result1292) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let array2091 : Array[String] = []; + for index2092 = 0; index2092 < (mbt_ffi_load32((iter_base) + 32)); index2092 = index2092 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2092 * 8) - let array1296 : Array[String] = [] - for index1297 = 0 - index1297 < mbt_ffi_load32(iter_base + 36) - index1297 = index1297 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1297 * 8 + let result2090 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1295 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2091.push(result2090) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - array1296.push(result1295) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1299 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1298 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1298) - } - _ => panic() - } + Option::Some(array2091) + } + _ => panic() + } - let lifted1302 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1301 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1300 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2089, allowed_extensions : lifted2093}) + } + 27 => { - @types.Role::Other(result1300) - } - _ => panic() - } + let lifted2097 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1301) - } - _ => panic() - } + let array2095 : Array[String] = []; + for index2096 = 0; index2096 < (mbt_ffi_load32((iter_base) + 16)); index2096 = index2096 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2096 * 8) - array1303.push(@types.NamedFieldType::{ - name: result1289, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1291, - aliases: array1293, - examples: array1296, - deprecated: lifted1299, - role: lifted1302, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1303) - } - 15 => { - let array1320 : Array[@types.VariantCaseType] = [] - for index1321 = 0 - index1321 < mbt_ffi_load32(iter_base + 12) - index1321 = index1321 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1321 * 72 - - let result1305 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1306 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result2094 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted1308 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1307 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1307) - } - _ => panic() - } + array2095.push(result2094) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - let array1310 : Array[String] = [] - for index1311 = 0 - index1311 < mbt_ffi_load32(iter_base + 32) - index1311 = index1311 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1311 * 8 + Option::Some(array2095) + } + _ => panic() + } - let result1309 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2101 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - array1310.push(result1309) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let array2099 : Array[String] = []; + for index2100 = 0; index2100 < (mbt_ffi_load32((iter_base) + 28)); index2100 = index2100 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2100 * 8) - let array1313 : Array[String] = [] - for index1314 = 0 - index1314 < mbt_ffi_load32(iter_base + 40) - index1314 = index1314 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1314 * 8 + let result2098 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1312 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2099.push(result2098) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - array1313.push(result1312) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1316 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1315 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1315) - } - _ => panic() - } + Option::Some(array2099) + } + _ => panic() + } - let lifted1319 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1318 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1317 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2097, allowed_hosts : lifted2101}) + } + 28 => { - @types.Role::Other(result1317) - } - _ => panic() - } + @types.SchemaTypeBody::DatetimeType + } + 29 => { - Option::Some(lifted1318) - } - _ => panic() - } + @types.SchemaTypeBody::DurationType + } + 30 => { - array1320.push(@types.VariantCaseType::{ - name: result1305, - payload: lifted1306, - metadata: @types.MetadataEnvelope::{ - doc: lifted1308, - aliases: array1310, - examples: array1313, - deprecated: lifted1316, - role: lifted1319, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1320) - } - 16 => { - let array1323 : Array[String] = [] - for index1324 = 0 - index1324 < mbt_ffi_load32(iter_base + 12) - index1324 = index1324 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1324 * 8 - - let result1322 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1323.push(result1322) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1323) - } - 17 => { - let array1326 : Array[String] = [] - for index1327 = 0 - index1327 < mbt_ffi_load32(iter_base + 12) - index1327 = index1327 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1327 * 8 - - let result1325 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1326.push(result1325) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1326) - } - 18 => { - let array1328 : Array[Int] = [] - for index1329 = 0 - index1329 < mbt_ffi_load32(iter_base + 12) - index1329 = index1329 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1329 * 4 - - array1328.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1328) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1330 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1331 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1330, - err: lifted1331, - }) - } - 24 => { - let lifted1335 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1333 : Array[String] = [] - for index1334 = 0 - index1334 < mbt_ffi_load32(iter_base + 16) - index1334 = index1334 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1334 * 8 - - let result1332 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1333.push(result1332) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1333) - } - _ => panic() - } - - let lifted1336 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1337 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1339 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1338 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1338) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1335, - min_length: lifted1336, - max_length: lifted1337, - regex: lifted1339, - }) - } - 25 => { - let lifted1343 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1341 : Array[String] = [] - for index1342 = 0 - index1342 < mbt_ffi_load32(iter_base + 16) - index1342 = index1342 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1342 * 8 - - let result1340 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1341.push(result1340) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1341) - } - _ => panic() - } - - let lifted1344 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1345 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1343, - min_bytes: lifted1344, - max_bytes: lifted1345, - }) - } - 26 => { - let lifted1349 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1347 : Array[String] = [] - for index1348 = 0 - index1348 < mbt_ffi_load32(iter_base + 20) - index1348 = index1348 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1348 * 8 - - let result1346 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1347.push(result1346) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1347) - } - _ => panic() - } - - let lifted1353 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1351 : Array[String] = [] - for index1352 = 0 - index1352 < mbt_ffi_load32(iter_base + 32) - index1352 = index1352 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1352 * 8 - - let result1350 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1351.push(result1350) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1351) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1349, - allowed_extensions: lifted1353, - }) - } - 27 => { - let lifted1357 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1355 : Array[String] = [] - for index1356 = 0 - index1356 < mbt_ffi_load32(iter_base + 16) - index1356 = index1356 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1356 * 8 - - let result1354 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1355.push(result1354) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1355) - } - _ => panic() - } - - let lifted1361 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1359 : Array[String] = [] - for index1360 = 0 - index1360 < mbt_ffi_load32(iter_base + 28) - index1360 = index1360 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1360 * 8 - - let result1358 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1359.push(result1358) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1359) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1357, - allowed_hosts: lifted1361, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1362 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1364 : Array[String] = [] - for index1365 = 0 - index1365 < mbt_ffi_load32(iter_base + 20) - index1365 = index1365 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1365 * 8 - - let result1363 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1364.push(result1363) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1367 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1366 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1366, - }) - } - _ => panic() - } - - let lifted1369 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1368 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1368, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1362, - allowed_suffixes: array1364, - min: lifted1367, - max: lifted1369, - }) - } - 31 => { - let array1393 : Array[@types.UnionBranch] = [] - for index1394 = 0 - index1394 < mbt_ffi_load32(iter_base + 12) - index1394 = index1394 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1394 * 92 - - let result1370 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1379 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1371 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1371) - } - 1 => { - let result1372 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1372) - } - 2 => { - let result1373 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1373) - } - 3 => { - let result1374 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1374) - } - 4 => { - let result1375 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1377 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1376 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result2102 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(result1376) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1375, - literal: lifted1377, - }) - } - 5 => { - let result1378 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1378) - } - _ => panic() - } + let array2104 : Array[String] = []; + for index2105 = 0; index2105 < (mbt_ffi_load32((iter_base) + 20)); index2105 = index2105 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2105 * 8) - let lifted1381 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1380 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1380) - } - _ => panic() - } + let result2103 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let array1383 : Array[String] = [] - for index1384 = 0 - index1384 < mbt_ffi_load32(iter_base + 52) - index1384 = index1384 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1384 * 8 + array2104.push(result2103) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - let result1382 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2107 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - array1383.push(result1382) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let result2106 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - let array1386 : Array[String] = [] - for index1387 = 0 - index1387 < mbt_ffi_load32(iter_base + 60) - index1387 = index1387 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1387 * 8 + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2106}) + } + _ => panic() + } - let result1385 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2109 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - array1386.push(result1385) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1389 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1388 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1388) - } - _ => panic() - } + let result2108 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) - let lifted1392 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1391 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1390 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2108}) + } + _ => panic() + } - @types.Role::Other(result1390) - } - _ => panic() - } + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2102, allowed_suffixes : array2104, min : lifted2107, max : lifted2109}) + } + 31 => { - Option::Some(lifted1391) - } - _ => panic() - } + let array2133 : Array[@types.UnionBranch] = []; + for index2134 = 0; index2134 < (mbt_ffi_load32((iter_base) + 12)); index2134 = index2134 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2134 * 92) - array1393.push(@types.UnionBranch::{ - tag: result1370, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1379, - metadata: @types.MetadataEnvelope::{ - doc: lifted1381, - aliases: array1383, - examples: array1386, - deprecated: lifted1389, - role: lifted1392, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1393, - }) - } - 32 => { - let lifted1396 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1395 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1395) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1396, - }) - } - 33 => { - let lifted1398 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1397 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1397) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1398, - }) - } - 34 => { - let lifted1399 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1399) - } - 35 => { - let lifted1400 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1400) - } - _ => panic() - } + let result2110 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2119 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { + + let result2111 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) + + @types.DiscriminatorRule::Prefix(result2111) + } + 1 => { + + let result2112 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted1403 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1402 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1402) - } - _ => panic() - } + @types.DiscriminatorRule::Suffix(result2112) + } + 2 => { - let array1405 : Array[String] = [] - for index1406 = 0 - index1406 < mbt_ffi_load32(iter_base + 104) - index1406 = index1406 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1406 * 8 + let result2113 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let result1404 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.DiscriminatorRule::Contains(result2113) + } + 3 => { - array1405.push(result1404) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let result2114 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let array1408 : Array[String] = [] - for index1409 = 0 - index1409 < mbt_ffi_load32(iter_base + 112) - index1409 = index1409 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1409 * 8 + @types.DiscriminatorRule::Regex(result2114) + } + 4 => { - let result1407 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2115 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array1408.push(result1407) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1411 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1410 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1410) - } - _ => panic() - } + let lifted2117 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - let lifted1414 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1413 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1412 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1412) - } - _ => panic() - } + let result2116 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) - Option::Some(lifted1413) - } - _ => panic() - } + Option::Some(result2116) + } + _ => panic() + } - array1415.push(@types.SchemaTypeNode::{ - body: lifted1401, - metadata: @types.MetadataEnvelope::{ - doc: lifted1403, - aliases: array1405, - examples: array1408, - deprecated: lifted1411, - role: lifted1414, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array1420 : Array[@types.SchemaTypeDef] = [] - for index1421 = 0 - index1421 < mbt_ffi_load32(iter_base + 60) - index1421 = index1421 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1421 * 24 - - let result1417 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1419 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1418 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1418) - } - _ => panic() - } + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2115, literal : lifted2117}) + } + 5 => { - array1420.push(@types.SchemaTypeDef::{ - id: result1417, - name: lifted1419, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array1451 : Array[@types.SchemaValueNode] = [] - for index1452 = 0 - index1452 < mbt_ffi_load32(iter_base + 72) - index1452 = index1452 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + - index1452 * 32 - - let lifted1450 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1422 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1422) - } - 13 => { - let array1423 : Array[Int] = [] - for index1424 = 0 - index1424 < mbt_ffi_load32(iter_base + 12) - index1424 = index1424 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1424 * 4 - - array1423.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1423) - } - 14 => { - let lifted1425 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1425, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1426 : Array[Bool] = [] - for index1427 = 0 - index1427 < mbt_ffi_load32(iter_base + 12) - index1427 = index1427 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1427 * 1 - - array1426.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1426) - } - 17 => { - let array1428 : Array[Int] = [] - for index1429 = 0 - index1429 < mbt_ffi_load32(iter_base + 12) - index1429 = index1429 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1429 * 4 - - array1428.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1428) - } - 18 => { - let array1430 : Array[Int] = [] - for index1431 = 0 - index1431 < mbt_ffi_load32(iter_base + 12) - index1431 = index1431 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1431 * 4 - - array1430.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1430) - } - 19 => { - let array1432 : Array[Int] = [] - for index1433 = 0 - index1433 < mbt_ffi_load32(iter_base + 12) - index1433 = index1433 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1433 * 4 - - array1432.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1432) - } - 20 => { - let array1434 : Array[@types.MapEntry] = [] - for index1435 = 0 - index1435 < mbt_ffi_load32(iter_base + 12) - index1435 = index1435 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1435 * 8 - - array1434.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1434) - } - 21 => { - let lifted1436 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1436) - } - 22 => { - let lifted1439 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1437 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1437) - } - 1 => { - let lifted1438 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1438) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1439) - } - 23 => { - let result1440 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1442 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1441 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1441) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1440, - language: lifted1442, - }) - } - 24 => { - let result1443 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1445 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1444 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1444) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1443, - mime_type: lifted1445, - }) - } - 25 => { - let result1446 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1446) - } - 26 => { - let result1447 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1447) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1448 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1448, - }) - } - 30 => { - let result1449 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1449, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let result2118 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array1451.push(lifted1450) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - let result1453 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 80), - mbt_ffi_load32(iter_base + 84), - ) - - let array1455 : Array[String] = [] - for index1456 = 0 - index1456 < mbt_ffi_load32(iter_base + 92) - index1456 = index1456 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index1456 * 8 - - let result1454 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1455.push(result1454) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - let array1470 : Array[Array[SpanData]] = [] - for index1471 = 0 - index1471 < mbt_ffi_load32(iter_base + 100) - index1471 = index1471 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index1471 * 8 - - let array1468 : Array[SpanData] = [] - for index1469 = 0 - index1469 < mbt_ffi_load32(iter_base + 4) - index1469 = index1469 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index1469 * 80 - - let lifted1467 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result1457 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1459 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result1458 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result1458) - } - _ => panic() - } + @types.DiscriminatorRule::FieldAbsent(result2118) + } + _ => panic() + } - let lifted1460 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2121 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - let array1464 : Array[@context.Attribute] = [] - for index1465 = 0 - index1465 < mbt_ffi_load32(iter_base + 68) - index1465 = index1465 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index1465 * 20 - - let result1461 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1463 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result1462 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result1462) - } - _ => panic() - } - - array1464.push(@context.Attribute::{ - key: result1461, - value: lifted1463, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result1457, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted1459, - linked_context: lifted1460, - attributes: array1464, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result1466 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result1466, - }) - } - _ => panic() - } - - array1468.push(lifted1467) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array1470.push(array1468) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{ - idempotency_key: result1217, - method_name: result1218, - function_input: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1415, - defs: array1420, - root: mbt_ffi_load32(iter_base + 64), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1451, - root: mbt_ffi_load32(iter_base + 76), - }, - }, - trace_id: result1453, - trace_states: array1455, - invocation_context: array1470, - }) - } - 2 => AgentInvocation::SaveSnapshot - 3 => { - let result1472 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result1473 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{ - snapshot: SnapshotData::{ - data: result1472, - mime_type: result1473, - }, - }) - } - 4 => { - let result1474 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{ - idempotency_key: result1474, - }) - } - 5 => - AgentInvocation::ManualUpdate(ManualUpdateParameters::{ - target_revision: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - _ => panic() - } + let result2120 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - invocation: lifted1475, - }) - } - 5 => { - let lifted1950 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => { - let array1672 : Array[@types.SchemaTypeNode] = [] - for index1673 = 0 - index1673 < mbt_ffi_load32(iter_base + 32) - index1673 = index1673 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1673 * 144 - - let lifted1658 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1482 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1477 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1476 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2120) + } + _ => panic() + } - Option::Some(lifted1476) - } - _ => panic() - } - - let lifted1479 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1478 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2123 : Array[String] = []; + for index2124 = 0; index2124 < (mbt_ffi_load32((iter_base) + 52)); index2124 = index2124 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2124 * 8) - Option::Some(lifted1478) - } - _ => panic() - } - - let lifted1481 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1480 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1480) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1477, - max: lifted1479, - unit: lifted1481, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1482) - } - 3 => { - let lifted1489 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1484 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1483 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2122 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1483) - } - _ => panic() - } - - let lifted1486 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1485 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2123.push(result2122) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - Option::Some(lifted1485) - } - _ => panic() - } - - let lifted1488 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1487 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1487) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1484, - max: lifted1486, - unit: lifted1488, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1489) - } - 4 => { - let lifted1496 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1491 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1490 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2126 : Array[String] = []; + for index2127 = 0; index2127 < (mbt_ffi_load32((iter_base) + 60)); index2127 = index2127 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2127 * 8) - Option::Some(lifted1490) - } - _ => panic() - } - - let lifted1493 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1492 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2125 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1492) - } - _ => panic() - } - - let lifted1495 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1494 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1494) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1491, - max: lifted1493, - unit: lifted1495, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1496) - } - 5 => { - let lifted1503 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1498 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1497 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2126.push(result2125) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted1497) - } - _ => panic() - } - - let lifted1500 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1499 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2129 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - Option::Some(lifted1499) - } - _ => panic() - } - - let lifted1502 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1501 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1501) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1498, - max: lifted1500, - unit: lifted1502, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1503) - } - 6 => { - let lifted1510 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1505 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1504 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2128 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - Option::Some(lifted1504) - } - _ => panic() - } - - let lifted1507 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1506 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2128) + } + _ => panic() + } - Option::Some(lifted1506) - } - _ => panic() - } - - let lifted1509 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1508 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1508) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1505, - max: lifted1507, - unit: lifted1509, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1510) - } - 7 => { - let lifted1517 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1512 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1511 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2132 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { - Option::Some(lifted1511) - } - _ => panic() - } - - let lifted1514 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1513 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2131 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { - Option::Some(lifted1513) - } - _ => panic() - } - - let lifted1516 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1515 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1515) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1512, - max: lifted1514, - unit: lifted1516, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1517) - } - 8 => { - let lifted1524 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1519 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1518 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted1518) - } - _ => panic() - } - - let lifted1521 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1520 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - Option::Some(lifted1520) - } - _ => panic() - } - - let lifted1523 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1522 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1522) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1519, - max: lifted1521, - unit: lifted1523, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1524) - } - 9 => { - let lifted1531 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1526 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1525 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted1525) - } - _ => panic() - } - - let lifted1528 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1527 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2130 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) - Option::Some(lifted1527) - } - _ => panic() - } - - let lifted1530 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1529 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1529) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1526, - max: lifted1528, - unit: lifted1530, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1531) - } - 10 => { - let lifted1538 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1533 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1532 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Other(result2130) + } + _ => panic() + } - Option::Some(lifted1532) - } - _ => panic() - } - - let lifted1535 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1534 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted2131) + } + _ => panic() + } - Option::Some(lifted1534) - } - _ => panic() - } - - let lifted1537 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1536 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1536) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1533, - max: lifted1535, - unit: lifted1537, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1538) - } - 11 => { - let lifted1545 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1540 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1539 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2133.push(@types.UnionBranch::{tag : result2110, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2119, metadata : @types.MetadataEnvelope::{doc : lifted2121, aliases : array2123, examples : array2126, deprecated : lifted2129, role : lifted2132}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted1539) - } - _ => panic() - } - - let lifted1542 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1541 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2133}) + } + 32 => { - Option::Some(lifted1541) - } - _ => panic() - } - - let lifted1544 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1543 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1543) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1540, - max: lifted1542, - unit: lifted1544, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1545) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1560 : Array[@types.NamedFieldType] = [] - for index1561 = 0 - index1561 < mbt_ffi_load32(iter_base + 12) - index1561 = index1561 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1561 * 68 - - let result1546 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1548 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1547 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1547) - } - _ => panic() - } + let lifted2136 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let array1550 : Array[String] = [] - for index1551 = 0 - index1551 < mbt_ffi_load32(iter_base + 28) - index1551 = index1551 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1551 * 8 + let result2135 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let result1549 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2135) + } + _ => panic() + } - array1550.push(result1549) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2136}) + } + 33 => { - let array1553 : Array[String] = [] - for index1554 = 0 - index1554 < mbt_ffi_load32(iter_base + 36) - index1554 = index1554 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1554 * 8 + let lifted2138 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let result1552 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2137 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - array1553.push(result1552) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1556 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1555 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1555) - } - _ => panic() - } + Option::Some(result2137) + } + _ => panic() + } - let lifted1559 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1558 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1557 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2138}) + } + 34 => { - @types.Role::Other(result1557) - } - _ => panic() - } + let lifted2139 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1558) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - array1560.push(@types.NamedFieldType::{ - name: result1546, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1548, - aliases: array1550, - examples: array1553, - deprecated: lifted1556, - role: lifted1559, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1560) - } - 15 => { - let array1577 : Array[@types.VariantCaseType] = [] - for index1578 = 0 - index1578 < mbt_ffi_load32(iter_base + 12) - index1578 = index1578 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1578 * 72 - - let result1562 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1563 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaTypeBody::FutureType(lifted2139) + } + 35 => { - let lifted1565 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1564 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1564) - } - _ => panic() - } + let lifted2140 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array1567 : Array[String] = [] - for index1568 = 0 - index1568 < mbt_ffi_load32(iter_base + 32) - index1568 = index1568 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1568 * 8 + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let result1566 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::StreamType(lifted2140) + } + _ => panic() + } - array1567.push(result1566) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let lifted2143 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { - let array1570 : Array[String] = [] - for index1571 = 0 - index1571 < mbt_ffi_load32(iter_base + 40) - index1571 = index1571 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1571 * 8 + let result2142 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) - let result1569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2142) + } + _ => panic() + } - array1570.push(result1569) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1573 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1572) - } - _ => panic() - } + let array2145 : Array[String] = []; + for index2146 = 0; index2146 < (mbt_ffi_load32((iter_base) + 104)); index2146 = index2146 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2146 * 8) - let lifted1576 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1575 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result2144 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.Role::Other(result1574) - } - _ => panic() - } + array2145.push(result2144) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) - Option::Some(lifted1575) - } - _ => panic() - } + let array2148 : Array[String] = []; + for index2149 = 0; index2149 < (mbt_ffi_load32((iter_base) + 112)); index2149 = index2149 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2149 * 8) - array1577.push(@types.VariantCaseType::{ - name: result1562, - payload: lifted1563, - metadata: @types.MetadataEnvelope::{ - doc: lifted1565, - aliases: array1567, - examples: array1570, - deprecated: lifted1573, - role: lifted1576, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1577) - } - 16 => { - let array1580 : Array[String] = [] - for index1581 = 0 - index1581 < mbt_ffi_load32(iter_base + 12) - index1581 = index1581 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1581 * 8 - - let result1579 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1580.push(result1579) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1580) - } - 17 => { - let array1583 : Array[String] = [] - for index1584 = 0 - index1584 < mbt_ffi_load32(iter_base + 12) - index1584 = index1584 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1584 * 8 - - let result1582 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1583.push(result1582) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1583) - } - 18 => { - let array1585 : Array[Int] = [] - for index1586 = 0 - index1586 < mbt_ffi_load32(iter_base + 12) - index1586 = index1586 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1586 * 4 - - array1585.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1585) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1587 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1588 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1587, - err: lifted1588, - }) - } - 24 => { - let lifted1592 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1590 : Array[String] = [] - for index1591 = 0 - index1591 < mbt_ffi_load32(iter_base + 16) - index1591 = index1591 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1591 * 8 - - let result1589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1590.push(result1589) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1590) - } - _ => panic() - } - - let lifted1593 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1594 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1596 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1595 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1595) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1592, - min_length: lifted1593, - max_length: lifted1594, - regex: lifted1596, - }) - } - 25 => { - let lifted1600 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1598 : Array[String] = [] - for index1599 = 0 - index1599 < mbt_ffi_load32(iter_base + 16) - index1599 = index1599 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1599 * 8 - - let result1597 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1598.push(result1597) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1598) - } - _ => panic() - } - - let lifted1601 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1602 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1600, - min_bytes: lifted1601, - max_bytes: lifted1602, - }) - } - 26 => { - let lifted1606 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1604 : Array[String] = [] - for index1605 = 0 - index1605 < mbt_ffi_load32(iter_base + 20) - index1605 = index1605 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1605 * 8 - - let result1603 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1604.push(result1603) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1604) - } - _ => panic() - } - - let lifted1610 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1608 : Array[String] = [] - for index1609 = 0 - index1609 < mbt_ffi_load32(iter_base + 32) - index1609 = index1609 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1609 * 8 - - let result1607 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1608.push(result1607) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1608) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1606, - allowed_extensions: lifted1610, - }) - } - 27 => { - let lifted1614 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1612 : Array[String] = [] - for index1613 = 0 - index1613 < mbt_ffi_load32(iter_base + 16) - index1613 = index1613 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1613 * 8 - - let result1611 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1612.push(result1611) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1612) - } - _ => panic() - } - - let lifted1618 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1616 : Array[String] = [] - for index1617 = 0 - index1617 < mbt_ffi_load32(iter_base + 28) - index1617 = index1617 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1617 * 8 - - let result1615 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1616.push(result1615) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1616) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1614, - allowed_hosts: lifted1618, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1619 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1621 : Array[String] = [] - for index1622 = 0 - index1622 < mbt_ffi_load32(iter_base + 20) - index1622 = index1622 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1622 * 8 - - let result1620 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1621.push(result1620) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1624 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1623 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1623, - }) - } - _ => panic() - } - - let lifted1626 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1625 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1625, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1619, - allowed_suffixes: array1621, - min: lifted1624, - max: lifted1626, - }) - } - 31 => { - let array1650 : Array[@types.UnionBranch] = [] - for index1651 = 0 - index1651 < mbt_ffi_load32(iter_base + 12) - index1651 = index1651 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1651 * 92 - - let result1627 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1636 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1628 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1628) - } - 1 => { - let result1629 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1629) - } - 2 => { - let result1630 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1630) - } - 3 => { - let result1631 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1631) - } - 4 => { - let result1632 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1634 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1633 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result2147 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(result1633) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1632, - literal: lifted1634, - }) - } - 5 => { - let result1635 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1635) - } - _ => panic() - } + array2148.push(result2147) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) - let lifted1638 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1637 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1637) - } - _ => panic() - } + let lifted2151 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { - let array1640 : Array[String] = [] - for index1641 = 0 - index1641 < mbt_ffi_load32(iter_base + 52) - index1641 = index1641 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1641 * 8 + let result2150 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) - let result1639 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2150) + } + _ => panic() + } - array1640.push(result1639) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let lifted2154 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { - let array1643 : Array[String] = [] - for index1644 = 0 - index1644 < mbt_ffi_load32(iter_base + 60) - index1644 = index1644 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1644 * 8 + let lifted2153 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { - let result1642 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.Role::Multimodal + } + 1 => { - array1643.push(result1642) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1646 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1645 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1645) - } - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - let lifted1649 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1648 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @types.Role::UnstructuredBinary + } + 3 => { - @types.Role::Other(result1647) - } - _ => panic() - } + let result2152 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) - Option::Some(lifted1648) - } - _ => panic() - } + @types.Role::Other(result2152) + } + _ => panic() + } - array1650.push(@types.UnionBranch::{ - tag: result1627, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1636, - metadata: @types.MetadataEnvelope::{ - doc: lifted1638, - aliases: array1640, - examples: array1643, - deprecated: lifted1646, - role: lifted1649, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1650, - }) - } - 32 => { - let lifted1653 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1652 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1652) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1653, - }) - } - 33 => { - let lifted1655 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1654) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1655, - }) - } - 34 => { - let lifted1656 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1656) - } - 35 => { - let lifted1657 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1657) - } - _ => panic() - } + Option::Some(lifted2153) + } + _ => panic() + } - let lifted1660 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1659 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1659) - } - _ => panic() - } + array2155.push(@types.SchemaTypeNode::{body : lifted2141, metadata : @types.MetadataEnvelope::{doc : lifted2143, aliases : array2145, examples : array2148, deprecated : lifted2151, role : lifted2154}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - let array1662 : Array[String] = [] - for index1663 = 0 - index1663 < mbt_ffi_load32(iter_base + 104) - index1663 = index1663 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1663 * 8 + let array2160 : Array[@types.SchemaTypeDef] = []; + for index2161 = 0; index2161 < (mbt_ffi_load32((iter_base) + 60)); index2161 = index2161 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2161 * 24) - let result1661 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2157 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array1662.push(result1661) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let lifted2159 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array1665 : Array[String] = [] - for index1666 = 0 - index1666 < mbt_ffi_load32(iter_base + 112) - index1666 = index1666 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1666 * 8 + let result2158 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - let result1664 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2158) + } + _ => panic() + } - array1665.push(result1664) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1668 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1667 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1667) - } - _ => panic() - } + array2160.push(@types.SchemaTypeDef::{id : result2157, name : lifted2159, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - let lifted1671 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1670 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1669 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1669) - } - _ => panic() - } + let array2191 : Array[@types.SchemaValueNode] = []; + for index2192 = 0; index2192 < (mbt_ffi_load32((iter_base) + 72)); index2192 = index2192 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index2192 * 32) - Option::Some(lifted1670) - } - _ => panic() - } + let lifted2190 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - array1672.push(@types.SchemaTypeNode::{ - body: lifted1658, - metadata: @types.MetadataEnvelope::{ - doc: lifted1660, - aliases: array1662, - examples: array1665, - deprecated: lifted1668, - role: lifted1671, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array1677 : Array[@types.SchemaTypeDef] = [] - for index1678 = 0 - index1678 < mbt_ffi_load32(iter_base + 40) - index1678 = index1678 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1678 * 24 - - let result1674 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1676 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1675 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1675) - } - _ => panic() - } + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { - array1677.push(@types.SchemaTypeDef::{ - id: result1674, - name: lifted1676, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array1708 : Array[@types.SchemaValueNode] = [] - for index1709 = 0 - index1709 < mbt_ffi_load32(iter_base + 52) - index1709 = index1709 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1709 * 32 - - let lifted1707 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1679 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1679) - } - 13 => { - let array1680 : Array[Int] = [] - for index1681 = 0 - index1681 < mbt_ffi_load32(iter_base + 12) - index1681 = index1681 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1681 * 4 - - array1680.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1680) - } - 14 => { - let lifted1682 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1682, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1683 : Array[Bool] = [] - for index1684 = 0 - index1684 < mbt_ffi_load32(iter_base + 12) - index1684 = index1684 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1684 * 1 - - array1683.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1683) - } - 17 => { - let array1685 : Array[Int] = [] - for index1686 = 0 - index1686 < mbt_ffi_load32(iter_base + 12) - index1686 = index1686 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1686 * 4 - - array1685.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1685) - } - 18 => { - let array1687 : Array[Int] = [] - for index1688 = 0 - index1688 < mbt_ffi_load32(iter_base + 12) - index1688 = index1688 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1688 * 4 - - array1687.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1687) - } - 19 => { - let array1689 : Array[Int] = [] - for index1690 = 0 - index1690 < mbt_ffi_load32(iter_base + 12) - index1690 = index1690 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1690 * 4 - - array1689.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1689) - } - 20 => { - let array1691 : Array[@types.MapEntry] = [] - for index1692 = 0 - index1692 < mbt_ffi_load32(iter_base + 12) - index1692 = index1692 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1692 * 8 - - array1691.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1691) - } - 21 => { - let lifted1693 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1693) - } - 22 => { - let lifted1696 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1694 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1694) - } - 1 => { - let lifted1695 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1695) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1696) - } - 23 => { - let result1697 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1699 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1698 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1698) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1697, - language: lifted1699, - }) - } - 24 => { - let result1700 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1702 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1701 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1701) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1700, - mime_type: lifted1702, - }) - } - 25 => { - let result1703 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1703) - } - 26 => { - let result1704 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1704) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1705 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1705, - }) - } - 30 => { - let result1706 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1706, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { - array1708.push(lifted1707) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - AgentInvocationResult::AgentInitialization(AgentInvocationOutputParameters::{ - output: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1672, - defs: array1677, - root: mbt_ffi_load32(iter_base + 44), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1708, - root: mbt_ffi_load32(iter_base + 56), - }, - }, - }) - } - 1 => { - let array1906 : Array[@types.SchemaTypeNode] = [] - for index1907 = 0 - index1907 < mbt_ffi_load32(iter_base + 32) - index1907 = index1907 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1907 * 144 - - let lifted1892 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1716 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1711 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1710 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { - Option::Some(lifted1710) - } - _ => panic() - } - - let lifted1713 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1712 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { - Option::Some(lifted1712) - } - _ => panic() - } - - let lifted1715 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1714 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1714) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1711, - max: lifted1713, - unit: lifted1715, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1716) - } - 3 => { - let lifted1723 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1718 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1717 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { - Option::Some(lifted1717) - } - _ => panic() - } - - let lifted1720 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1719 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { - Option::Some(lifted1719) - } - _ => panic() - } - - let lifted1722 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1721 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1721) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1718, - max: lifted1720, - unit: lifted1722, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1723) - } - 4 => { - let lifted1730 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1725 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1724 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { - Option::Some(lifted1724) - } - _ => panic() - } - - let lifted1727 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1726 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { - Option::Some(lifted1726) - } - _ => panic() - } - - let lifted1729 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1728 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1728) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1725, - max: lifted1727, - unit: lifted1729, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1730) - } - 5 => { - let lifted1737 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1732 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1731 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { - Option::Some(lifted1731) - } - _ => panic() - } - - let lifted1734 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1733 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { - Option::Some(lifted1733) - } - _ => panic() - } - - let lifted1736 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1735 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1735) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1732, - max: lifted1734, - unit: lifted1736, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1737) - } - 6 => { - let lifted1744 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1739 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1738 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { - Option::Some(lifted1738) - } - _ => panic() - } - - let lifted1741 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1740 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { - Option::Some(lifted1740) - } - _ => panic() - } - - let lifted1743 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1742 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1742) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1739, - max: lifted1741, - unit: lifted1743, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1744) - } - 7 => { - let lifted1751 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1746 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1745 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2162 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1745) - } - _ => panic() - } - - let lifted1748 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1747 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::StringValue(result2162) + } + 13 => { - Option::Some(lifted1747) - } - _ => panic() - } - - let lifted1750 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1749 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1749) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1746, - max: lifted1748, - unit: lifted1750, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1751) - } - 8 => { - let lifted1758 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1753 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1752 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2163 : Array[Int] = []; + for index2164 = 0; index2164 < (mbt_ffi_load32((iter_base) + 12)); index2164 = index2164 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2164 * 4) - Option::Some(lifted1752) - } - _ => panic() - } - - let lifted1755 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1754 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2163.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted1754) - } - _ => panic() - } - - let lifted1757 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1756 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1756) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1753, - max: lifted1755, - unit: lifted1757, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1758) - } - 9 => { - let lifted1765 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1760 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1759 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::RecordValue(array2163) + } + 14 => { - Option::Some(lifted1759) - } - _ => panic() - } - - let lifted1762 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1761 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2165 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted1761) - } - _ => panic() - } - - let lifted1764 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1763 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1763) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1760, - max: lifted1762, - unit: lifted1764, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1765) - } - 10 => { - let lifted1772 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1767 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1766 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - Option::Some(lifted1766) - } - _ => panic() - } - - let lifted1769 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1768 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2165}) + } + 15 => { - Option::Some(lifted1768) - } - _ => panic() - } - - let lifted1771 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1770 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1770) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1767, - max: lifted1769, - unit: lifted1771, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1772) - } - 11 => { - let lifted1779 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1774 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1773 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { - Option::Some(lifted1773) - } - _ => panic() - } - - let lifted1776 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1775 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2166 : Array[Bool] = []; + for index2167 = 0; index2167 < (mbt_ffi_load32((iter_base) + 12)); index2167 = index2167 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2167 * 1) - Option::Some(lifted1775) - } - _ => panic() - } - - let lifted1778 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1777 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1777) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1774, - max: lifted1776, - unit: lifted1778, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1779) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1794 : Array[@types.NamedFieldType] = [] - for index1795 = 0 - index1795 < mbt_ffi_load32(iter_base + 12) - index1795 = index1795 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1795 * 68 - - let result1780 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1782 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1781 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1781) - } - _ => panic() - } + array2166.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array1784 : Array[String] = [] - for index1785 = 0 - index1785 < mbt_ffi_load32(iter_base + 28) - index1785 = index1785 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1785 * 8 + @types.SchemaValueNode::FlagsValue(array2166) + } + 17 => { - let result1783 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2168 : Array[Int] = []; + for index2169 = 0; index2169 < (mbt_ffi_load32((iter_base) + 12)); index2169 = index2169 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2169 * 4) - array1784.push(result1783) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + array2168.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array1787 : Array[String] = [] - for index1788 = 0 - index1788 < mbt_ffi_load32(iter_base + 36) - index1788 = index1788 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1788 * 8 + @types.SchemaValueNode::TupleValue(array2168) + } + 18 => { - let result1786 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2170 : Array[Int] = []; + for index2171 = 0; index2171 < (mbt_ffi_load32((iter_base) + 12)); index2171 = index2171 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2171 * 4) - array1787.push(result1786) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1790 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1789 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1789) - } - _ => panic() - } + array2170.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let lifted1793 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1792 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1791 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @types.SchemaValueNode::ListValue(array2170) + } + 19 => { - @types.Role::Other(result1791) - } - _ => panic() - } + let array2172 : Array[Int] = []; + for index2173 = 0; index2173 < (mbt_ffi_load32((iter_base) + 12)); index2173 = index2173 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2173 * 4) - Option::Some(lifted1792) - } - _ => panic() - } + array2172.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1794.push(@types.NamedFieldType::{ - name: result1780, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1782, - aliases: array1784, - examples: array1787, - deprecated: lifted1790, - role: lifted1793, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1794) - } - 15 => { - let array1811 : Array[@types.VariantCaseType] = [] - for index1812 = 0 - index1812 < mbt_ffi_load32(iter_base + 12) - index1812 = index1812 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1812 * 72 - - let result1796 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1797 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaValueNode::FixedListValue(array2172) + } + 20 => { - let lifted1799 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1798 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1798) - } - _ => panic() - } + let array2174 : Array[@types.MapEntry] = []; + for index2175 = 0; index2175 < (mbt_ffi_load32((iter_base) + 12)); index2175 = index2175 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2175 * 8) - let array1801 : Array[String] = [] - for index1802 = 0 - index1802 < mbt_ffi_load32(iter_base + 32) - index1802 = index1802 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1802 * 8 + array2174.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let result1800 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::MapValue(array2174) + } + 21 => { - array1801.push(result1800) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let lifted2176 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array1804 : Array[String] = [] - for index1805 = 0 - index1805 < mbt_ffi_load32(iter_base + 40) - index1805 = index1805 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1805 * 8 + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let result1803 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::OptionValue(lifted2176) + } + 22 => { - array1804.push(result1803) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1807 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1806 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1806) - } - _ => panic() - } + let lifted2179 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - let lifted1810 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1809 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1808 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let lifted2177 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - @types.Role::Other(result1808) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - Option::Some(lifted1809) - } - _ => panic() - } + @types.ResultValuePayload::OkValue(lifted2177) + } + 1 => { - array1811.push(@types.VariantCaseType::{ - name: result1796, - payload: lifted1797, - metadata: @types.MetadataEnvelope::{ - doc: lifted1799, - aliases: array1801, - examples: array1804, - deprecated: lifted1807, - role: lifted1810, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1811) - } - 16 => { - let array1814 : Array[String] = [] - for index1815 = 0 - index1815 < mbt_ffi_load32(iter_base + 12) - index1815 = index1815 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1815 * 8 - - let result1813 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1814.push(result1813) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1814) - } - 17 => { - let array1817 : Array[String] = [] - for index1818 = 0 - index1818 < mbt_ffi_load32(iter_base + 12) - index1818 = index1818 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1818 * 8 - - let result1816 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1817.push(result1816) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1817) - } - 18 => { - let array1819 : Array[Int] = [] - for index1820 = 0 - index1820 < mbt_ffi_load32(iter_base + 12) - index1820 = index1820 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1820 * 4 - - array1819.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1819) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1821 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1822 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1821, - err: lifted1822, - }) - } - 24 => { - let lifted1826 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1824 : Array[String] = [] - for index1825 = 0 - index1825 < mbt_ffi_load32(iter_base + 16) - index1825 = index1825 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1825 * 8 - - let result1823 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1824.push(result1823) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1824) - } - _ => panic() - } - - let lifted1827 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1828 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1830 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1829 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1829) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1826, - min_length: lifted1827, - max_length: lifted1828, - regex: lifted1830, - }) - } - 25 => { - let lifted1834 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1832 : Array[String] = [] - for index1833 = 0 - index1833 < mbt_ffi_load32(iter_base + 16) - index1833 = index1833 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1833 * 8 - - let result1831 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1832.push(result1831) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1832) - } - _ => panic() - } - - let lifted1835 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1836 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1834, - min_bytes: lifted1835, - max_bytes: lifted1836, - }) - } - 26 => { - let lifted1840 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1838 : Array[String] = [] - for index1839 = 0 - index1839 < mbt_ffi_load32(iter_base + 20) - index1839 = index1839 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1839 * 8 - - let result1837 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1838.push(result1837) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1838) - } - _ => panic() - } - - let lifted1844 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1842 : Array[String] = [] - for index1843 = 0 - index1843 < mbt_ffi_load32(iter_base + 32) - index1843 = index1843 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1843 * 8 - - let result1841 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1842.push(result1841) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1842) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1840, - allowed_extensions: lifted1844, - }) - } - 27 => { - let lifted1848 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1846 : Array[String] = [] - for index1847 = 0 - index1847 < mbt_ffi_load32(iter_base + 16) - index1847 = index1847 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1847 * 8 - - let result1845 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1846.push(result1845) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1846) - } - _ => panic() - } - - let lifted1852 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1850 : Array[String] = [] - for index1851 = 0 - index1851 < mbt_ffi_load32(iter_base + 28) - index1851 = index1851 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1851 * 8 - - let result1849 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1850.push(result1849) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1850) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1848, - allowed_hosts: lifted1852, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1853 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1855 : Array[String] = [] - for index1856 = 0 - index1856 < mbt_ffi_load32(iter_base + 20) - index1856 = index1856 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1856 * 8 - - let result1854 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1855.push(result1854) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1858 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1857 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1857, - }) - } - _ => panic() - } - - let lifted1860 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1859 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1859, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1853, - allowed_suffixes: array1855, - min: lifted1858, - max: lifted1860, - }) - } - 31 => { - let array1884 : Array[@types.UnionBranch] = [] - for index1885 = 0 - index1885 < mbt_ffi_load32(iter_base + 12) - index1885 = index1885 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1885 * 92 - - let result1861 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1870 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1862 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1862) - } - 1 => { - let result1863 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1863) - } - 2 => { - let result1864 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1864) - } - 3 => { - let result1865 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1865) - } - 4 => { - let result1866 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1868 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1867 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let lifted2178 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(result1867) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1866, - literal: lifted1868, - }) - } - 5 => { - let result1869 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1869) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - let lifted1872 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1871 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1871) - } - _ => panic() - } + @types.ResultValuePayload::ErrValue(lifted2178) + } + _ => panic() + } - let array1874 : Array[String] = [] - for index1875 = 0 - index1875 < mbt_ffi_load32(iter_base + 52) - index1875 = index1875 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1875 * 8 + @types.SchemaValueNode::ResultValue(lifted2179) + } + 23 => { - let result1873 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2180 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1874.push(result1873) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let lifted2182 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let array1877 : Array[String] = [] - for index1878 = 0 - index1878 < mbt_ffi_load32(iter_base + 60) - index1878 = index1878 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1878 * 8 + let result2181 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let result1876 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2181) + } + _ => panic() + } - array1877.push(result1876) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1880 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1879 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1879) - } - _ => panic() - } + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2180, language : lifted2182}) + } + 24 => { - let lifted1883 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1882 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1881 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let result2183 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.Role::Other(result1881) - } - _ => panic() - } + let lifted2185 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1882) - } - _ => panic() - } + let result2184 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - array1884.push(@types.UnionBranch::{ - tag: result1861, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1870, - metadata: @types.MetadataEnvelope::{ - doc: lifted1872, - aliases: array1874, - examples: array1877, - deprecated: lifted1880, - role: lifted1883, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1884, - }) - } - 32 => { - let lifted1887 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1886 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1886) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1887, - }) - } - 33 => { - let lifted1889 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1888 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1888) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1889, - }) - } - 34 => { - let lifted1890 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1890) - } - 35 => { - let lifted1891 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1891) - } - _ => panic() - } + Option::Some(result2184) + } + _ => panic() + } - let lifted1894 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1893 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1893) - } - _ => panic() - } + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2183, mime_type : lifted2185}) + } + 25 => { - let array1896 : Array[String] = [] - for index1897 = 0 - index1897 < mbt_ffi_load32(iter_base + 104) - index1897 = index1897 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1897 * 8 + let result2186 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result1895 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::PathValue(result2186) + } + 26 => { - array1896.push(result1895) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let result2187 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let array1899 : Array[String] = [] - for index1900 = 0 - index1900 < mbt_ffi_load32(iter_base + 112) - index1900 = index1900 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1900 * 8 + @types.SchemaValueNode::UrlValue(result2187) + } + 27 => { - let result1898 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { - array1899.push(result1898) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1902 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1901 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1901) - } - _ => panic() - } + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { - let lifted1905 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1904 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1903 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1903) - } - _ => panic() - } + let result2188 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted1904) - } - _ => panic() - } + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2188}) + } + 30 => { - array1906.push(@types.SchemaTypeNode::{ - body: lifted1892, - metadata: @types.MetadataEnvelope::{ - doc: lifted1894, - aliases: array1896, - examples: array1899, - deprecated: lifted1902, - role: lifted1905, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array1911 : Array[@types.SchemaTypeDef] = [] - for index1912 = 0 - index1912 < mbt_ffi_load32(iter_base + 40) - index1912 = index1912 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1912 * 24 - - let result1908 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1910 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1909 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1909) - } - _ => panic() - } + let result2189 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1911.push(@types.SchemaTypeDef::{ - id: result1908, - name: lifted1910, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array1942 : Array[@types.SchemaValueNode] = [] - for index1943 = 0 - index1943 < mbt_ffi_load32(iter_base + 52) - index1943 = index1943 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1943 * 32 - - let lifted1941 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1913 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1913) - } - 13 => { - let array1914 : Array[Int] = [] - for index1915 = 0 - index1915 < mbt_ffi_load32(iter_base + 12) - index1915 = index1915 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1915 * 4 - - array1914.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1914) - } - 14 => { - let lifted1916 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1916, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1917 : Array[Bool] = [] - for index1918 = 0 - index1918 < mbt_ffi_load32(iter_base + 12) - index1918 = index1918 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1918 * 1 - - array1917.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1917) - } - 17 => { - let array1919 : Array[Int] = [] - for index1920 = 0 - index1920 < mbt_ffi_load32(iter_base + 12) - index1920 = index1920 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1920 * 4 - - array1919.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1919) - } - 18 => { - let array1921 : Array[Int] = [] - for index1922 = 0 - index1922 < mbt_ffi_load32(iter_base + 12) - index1922 = index1922 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1922 * 4 - - array1921.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1921) - } - 19 => { - let array1923 : Array[Int] = [] - for index1924 = 0 - index1924 < mbt_ffi_load32(iter_base + 12) - index1924 = index1924 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1924 * 4 - - array1923.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1923) - } - 20 => { - let array1925 : Array[@types.MapEntry] = [] - for index1926 = 0 - index1926 < mbt_ffi_load32(iter_base + 12) - index1926 = index1926 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1926 * 8 - - array1925.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1925) - } - 21 => { - let lifted1927 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1927) - } - 22 => { - let lifted1930 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1928 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1928) - } - 1 => { - let lifted1929 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1929) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1930) - } - 23 => { - let result1931 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1933 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1932 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1932) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1931, - language: lifted1933, - }) - } - 24 => { - let result1934 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1936 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1935 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1935) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1934, - mime_type: lifted1936, - }) - } - 25 => { - let result1937 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1937) - } - 26 => { - let result1938 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1938) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1939 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1939, - }) - } - 30 => { - let result1940 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1940, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2189, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { - array1942.push(lifted1941) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - AgentInvocationResult::AgentMethod(AgentInvocationOutputParameters::{ - output: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1906, - defs: array1911, - root: mbt_ffi_load32(iter_base + 44), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1942, - root: mbt_ffi_load32(iter_base + 56), - }, - }, - }) - } - 2 => AgentInvocationResult::ManualUpdate - 3 => { - let lifted1945 : String? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => { - let result1944 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - Option::Some(result1944) - } - _ => panic() - } - - AgentInvocationResult::LoadSnapshot(FallibleResultParameters::{ - error: lifted1945, - }) - } - 4 => { - let result1946 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let result1947 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - AgentInvocationResult::SaveSnapshot(SaveSnapshotResultParameters::{ - snapshot: SnapshotData::{ - data: result1946, - mime_type: result1947, - }, - }) - } - 5 => { - let lifted1949 : String? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => { - let result1948 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - Option::Some(result1948) - } - _ => panic() - } - - AgentInvocationResult::ProcessOplogEntries(FallibleResultParameters::{ - error: lifted1949, - }) - } - _ => panic() - } + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { - let lifted1952 : String? = match mbt_ffi_load8_u(iter_base + 60) { - 0 => Option::None - 1 => { - let result1951 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - Option::Some(result1951) - } - _ => panic() - } + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } - PublicOplogEntry::AgentInvocationFinished(AgentInvocationFinishedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - result: lifted1950, - method_name: lifted1952, - consumed_fuel: mbt_ffi_load64(iter_base + 72), - component_revision: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - }) - } - 6 => - PublicOplogEntry::Suspend(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 7 => { - let result1953 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let lifted1957 : RetryPolicyState? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let array1955 : Array[StateNode] = [] - for index1956 = 0 - index1956 < mbt_ffi_load32(iter_base + 52) - index1956 = index1956 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1956 * 16 - - let lifted1954 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - StateNode::Counter( - mbt_ffi_load32(iter_base + 4).reinterpret_as_uint(), - ) - 1 => StateNode::Terminal - 2 => StateNode::Wrapper(mbt_ffi_load32(iter_base + 4)) - 3 => - StateNode::CountBox(CountBoxState::{ - attempts: mbt_ffi_load32(iter_base + 4).reinterpret_as_uint(), - inner: mbt_ffi_load32(iter_base + 8), - }) - 4 => - StateNode::AndThen(AndThenState::{ - left: mbt_ffi_load32(iter_base + 4), - right: mbt_ffi_load32(iter_base + 8), - on_right: mbt_ffi_load8_u(iter_base + 12) != 0, - }) - 5 => - StateNode::Pair(PairState::{ - left: mbt_ffi_load32(iter_base + 4), - right: mbt_ffi_load32(iter_base + 8), - }) - _ => panic() - } + array2191.push(lifted2190) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) - array1955.push(lifted1954) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let result2193 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 80), mbt_ffi_load32((iter_base) + 84)) - Option::Some(RetryPolicyState::{ nodes: array1955 }) - } - _ => panic() - } + let array2195 : Array[String] = []; + for index2196 = 0; index2196 < (mbt_ffi_load32((iter_base) + 92)); index2196 = index2196 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 88)) + (index2196 * 8) - PublicOplogEntry::Error(ErrorParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - error: result1953, - retry_from: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - inside_atomic_region: mbt_ffi_load8_u(iter_base + 40) != 0, - retry_policy_state: lifted1957, - }) - } - 8 => - PublicOplogEntry::NoOp(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 9 => - PublicOplogEntry::Jump(JumpParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - jump: OplogRegion::{ - start: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - end: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }) - 10 => - PublicOplogEntry::Interrupted(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 11 => - PublicOplogEntry::Exited(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 12 => - PublicOplogEntry::BeginAtomicRegion(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 13 => - PublicOplogEntry::EndAtomicRegion(EndAtomicRegionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 14 => { - let lifted2470 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => { - let result1958 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let array2155 : Array[@types.SchemaTypeNode] = [] - for index2156 = 0 - index2156 < mbt_ffi_load32(iter_base + 44) - index2156 = index2156 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 40) + - index2156 * 144 - - let lifted2141 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1965 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1960 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1959 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2194 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1959) - } - _ => panic() - } - - let lifted1962 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1961 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2195.push(result2194) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 88)) - Option::Some(lifted1961) - } - _ => panic() - } - - let lifted1964 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1963 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1963) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1960, - max: lifted1962, - unit: lifted1964, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1965) - } - 3 => { - let lifted1972 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1967 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1966 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2210 : Array[Array[SpanData]] = []; + for index2211 = 0; index2211 < (mbt_ffi_load32((iter_base) + 100)); index2211 = index2211 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index2211 * 8) - Option::Some(lifted1966) - } - _ => panic() - } - - let lifted1969 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1968 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2208 : Array[SpanData] = []; + for index2209 = 0; index2209 < (mbt_ffi_load32((iter_base) + 4)); index2209 = index2209 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index2209 * 80) - Option::Some(lifted1968) - } - _ => panic() - } - - let lifted1971 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1970 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1970) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1967, - max: lifted1969, - unit: lifted1971, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1972) - } - 4 => { - let lifted1979 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1974 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1973 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2207 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted1973) - } - _ => panic() - } - - let lifted1976 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1975 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2197 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1975) - } - _ => panic() - } - - let lifted1978 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1977 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1977) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1974, - max: lifted1976, - unit: lifted1978, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1979) - } - 5 => { - let lifted1986 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1981 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1980 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2199 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { - Option::Some(lifted1980) - } - _ => panic() - } - - let lifted1983 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1982 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2198 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) - Option::Some(lifted1982) - } - _ => panic() - } - - let lifted1985 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1984 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1984) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1981, - max: lifted1983, - unit: lifted1985, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1986) - } - 6 => { - let lifted1993 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1988 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1987 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2198) + } + _ => panic() + } - Option::Some(lifted1987) - } - _ => panic() - } - - let lifted1990 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1989 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2200 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { - Option::Some(lifted1989) - } - _ => panic() - } - - let lifted1992 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1991 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1991) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1988, - max: lifted1990, - unit: lifted1992, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1993) - } - 7 => { - let lifted2000 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1995 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1994 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - Option::Some(lifted1994) - } - _ => panic() - } - - let lifted1997 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1996 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2204 : Array[@context.Attribute] = []; + for index2205 = 0; index2205 < (mbt_ffi_load32((iter_base) + 68)); index2205 = index2205 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2205 * 20) - Option::Some(lifted1996) - } - _ => panic() - } - - let lifted1999 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1998 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1998) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1995, - max: lifted1997, - unit: lifted1999, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted2000) - } - 8 => { - let lifted2007 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2002 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2001 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2201 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2001) - } - _ => panic() - } - - let lifted2004 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2003 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2203 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - Option::Some(lifted2003) - } - _ => panic() - } - - let lifted2006 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2005 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2005) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2002, - max: lifted2004, - unit: lifted2006, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted2007) - } - 9 => { - let lifted2014 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2009 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2008 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2202 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - Option::Some(lifted2008) - } - _ => panic() - } - - let lifted2011 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2010 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @context.AttributeValue::String(result2202) + } + _ => panic() + } - Option::Some(lifted2010) - } - _ => panic() - } - - let lifted2013 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2012 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2012) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2009, - max: lifted2011, - unit: lifted2013, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted2014) - } - 10 => { - let lifted2021 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2016 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2015 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2204.push(@context.Attribute::{key : result2201, value : lifted2203}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) - Option::Some(lifted2015) - } - _ => panic() - } - - let lifted2018 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2017 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + SpanData::LocalSpan(LocalSpanData::{span_id : result2197, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted2199, linked_context : lifted2200, attributes : array2204, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { - Option::Some(lifted2017) - } - _ => panic() - } - - let lifted2020 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2019 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2019) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2016, - max: lifted2018, - unit: lifted2020, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2021) - } - 11 => { - let lifted2028 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2023 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2022 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2206 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted2022) - } - _ => panic() - } - - let lifted2025 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2024 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + SpanData::ExternalSpan(ExternalSpanData::{span_id : result2206}) + } + _ => panic() + } - Option::Some(lifted2024) - } - _ => panic() - } - - let lifted2027 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2026 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2026) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2023, - max: lifted2025, - unit: lifted2027, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2028) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2043 : Array[@types.NamedFieldType] = [] - for index2044 = 0 - index2044 < mbt_ffi_load32(iter_base + 12) - index2044 = index2044 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2044 * 68 - - let result2029 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2031 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2030 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2030) - } - _ => panic() - } + array2208.push(lifted2207) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) - let array2033 : Array[String] = [] - for index2034 = 0 - index2034 < mbt_ffi_load32(iter_base + 28) - index2034 = index2034 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2034 * 8 + array2210.push(array2208) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) - let result2032 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + AgentInvocation::AgentInitialization(AgentInitializationParameters::{idempotency_key : result1958, constructor_parameters : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2155, defs : array2160, root : mbt_ffi_load32((iter_base) + 64)}, value : @types.SchemaValueTree::{value_nodes : array2191, root : mbt_ffi_load32((iter_base) + 76)}}, trace_id : result2193, trace_states : array2195, invocation_context : array2210}) + } + 1 => { - array2033.push(result2032) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let result2212 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let array2036 : Array[String] = [] - for index2037 = 0 - index2037 < mbt_ffi_load32(iter_base + 36) - index2037 = index2037 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2037 * 8 + let result2213 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - let result2035 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2410 : Array[@types.SchemaTypeNode] = []; + for index2411 = 0; index2411 < (mbt_ffi_load32((iter_base) + 60)); index2411 = index2411 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2411 * 144) - array2036.push(result2035) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2039 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2038 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2038) - } - _ => panic() - } + let lifted2396 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let lifted2042 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2041 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2040 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { - @types.Role::Other(result2040) - } - _ => panic() - } + @types.SchemaTypeBody::BoolType + } + 2 => { - Option::Some(lifted2041) - } - _ => panic() - } + let lifted2220 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - array2043.push(@types.NamedFieldType::{ - name: result2029, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2031, - aliases: array2033, - examples: array2036, - deprecated: lifted2039, - role: lifted2042, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2043) - } - 15 => { - let array2060 : Array[@types.VariantCaseType] = [] - for index2061 = 0 - index2061 < mbt_ffi_load32(iter_base + 12) - index2061 = index2061 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2061 * 72 - - let result2045 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2046 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let lifted2215 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let lifted2048 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2047 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2047) - } - _ => panic() - } + let lifted2214 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - let array2050 : Array[String] = [] - for index2051 = 0 - index2051 < mbt_ffi_load32(iter_base + 32) - index2051 = index2051 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2051 * 8 + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - let result2049 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - array2050.push(result2049) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - let array2053 : Array[String] = [] - for index2054 = 0 - index2054 < mbt_ffi_load32(iter_base + 40) - index2054 = index2054 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2054 * 8 + Option::Some(lifted2214) + } + _ => panic() + } - let result2052 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2217 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - array2053.push(result2052) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2056 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2055 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2055) - } - _ => panic() - } + let lifted2216 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - let lifted2059 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2058 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2057 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - @types.Role::Other(result2057) - } - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - Option::Some(lifted2058) - } - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - array2060.push(@types.VariantCaseType::{ - name: result2045, - payload: lifted2046, - metadata: @types.MetadataEnvelope::{ - doc: lifted2048, - aliases: array2050, - examples: array2053, - deprecated: lifted2056, - role: lifted2059, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2060) - } - 16 => { - let array2063 : Array[String] = [] - for index2064 = 0 - index2064 < mbt_ffi_load32(iter_base + 12) - index2064 = index2064 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2064 * 8 - - let result2062 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2063.push(result2062) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2063) - } - 17 => { - let array2066 : Array[String] = [] - for index2067 = 0 - index2067 < mbt_ffi_load32(iter_base + 12) - index2067 = index2067 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2067 * 8 - - let result2065 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2066.push(result2065) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2066) - } - 18 => { - let array2068 : Array[Int] = [] - for index2069 = 0 - index2069 < mbt_ffi_load32(iter_base + 12) - index2069 = index2069 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2069 * 4 - - array2068.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2068) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2070 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2071 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2070, - err: lifted2071, - }) - } - 24 => { - let lifted2075 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2073 : Array[String] = [] - for index2074 = 0 - index2074 < mbt_ffi_load32(iter_base + 16) - index2074 = index2074 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2074 * 8 - - let result2072 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2073.push(result2072) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2073) - } - _ => panic() - } - - let lifted2076 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2077 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2079 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2078 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2078) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2075, - min_length: lifted2076, - max_length: lifted2077, - regex: lifted2079, - }) - } - 25 => { - let lifted2083 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2081 : Array[String] = [] - for index2082 = 0 - index2082 < mbt_ffi_load32(iter_base + 16) - index2082 = index2082 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2082 * 8 - - let result2080 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2081.push(result2080) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2081) - } - _ => panic() - } - - let lifted2084 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2085 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2083, - min_bytes: lifted2084, - max_bytes: lifted2085, - }) - } - 26 => { - let lifted2089 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2087 : Array[String] = [] - for index2088 = 0 - index2088 < mbt_ffi_load32(iter_base + 20) - index2088 = index2088 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2088 * 8 - - let result2086 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2087.push(result2086) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2087) - } - _ => panic() - } - - let lifted2093 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2091 : Array[String] = [] - for index2092 = 0 - index2092 < mbt_ffi_load32(iter_base + 32) - index2092 = index2092 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2092 * 8 - - let result2090 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2091.push(result2090) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2091) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2089, - allowed_extensions: lifted2093, - }) - } - 27 => { - let lifted2097 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2095 : Array[String] = [] - for index2096 = 0 - index2096 < mbt_ffi_load32(iter_base + 16) - index2096 = index2096 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2096 * 8 - - let result2094 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2095.push(result2094) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2095) - } - _ => panic() - } - - let lifted2101 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2099 : Array[String] = [] - for index2100 = 0 - index2100 < mbt_ffi_load32(iter_base + 28) - index2100 = index2100 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2100 * 8 - - let result2098 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2099.push(result2098) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2099) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2097, - allowed_hosts: lifted2101, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2102 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2104 : Array[String] = [] - for index2105 = 0 - index2105 < mbt_ffi_load32(iter_base + 20) - index2105 = index2105 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2105 * 8 - - let result2103 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2104.push(result2103) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2107 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2106 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2106, - }) - } - _ => panic() - } - - let lifted2109 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2108 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2108, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2102, - allowed_suffixes: array2104, - min: lifted2107, - max: lifted2109, - }) - } - 31 => { - let array2133 : Array[@types.UnionBranch] = [] - for index2134 = 0 - index2134 < mbt_ffi_load32(iter_base + 12) - index2134 = index2134 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2134 * 92 - - let result2110 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2119 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2111 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2111) - } - 1 => { - let result2112 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2112) - } - 2 => { - let result2113 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2113) - } - 3 => { - let result2114 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2114) - } - 4 => { - let result2115 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2117 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2116 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + Option::Some(lifted2216) + } + _ => panic() + } - Option::Some(result2116) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2115, - literal: lifted2117, - }) - } - 5 => { - let result2118 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2118) - } - _ => panic() - } + let lifted2219 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let lifted2121 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2120 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2120) - } - _ => panic() - } + let result2218 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - let array2123 : Array[String] = [] - for index2124 = 0 - index2124 < mbt_ffi_load32(iter_base + 52) - index2124 = index2124 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2124 * 8 + Option::Some(result2218) + } + _ => panic() + } - let result2122 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(@types.NumericRestrictions::{min : lifted2215, max : lifted2217, unit : lifted2219}) + } + _ => panic() + } - array2123.push(result2122) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.SchemaTypeBody::S8Type(lifted2220) + } + 3 => { - let array2126 : Array[String] = [] - for index2127 = 0 - index2127 < mbt_ffi_load32(iter_base + 60) - index2127 = index2127 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2127 * 8 + let lifted2227 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let result2125 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2222 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - array2126.push(result2125) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2129 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2128 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2128) - } - _ => panic() - } + let lifted2221 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - let lifted2132 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2131 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2130 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - @types.Role::Other(result2130) - } - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2221) + } + _ => panic() + } + + let lifted2224 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2223 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2223) + } + _ => panic() + } + + let lifted2226 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2225 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2225) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2222, max : lifted2224, unit : lifted2226}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted2227) + } + 4 => { + + let lifted2234 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2229 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2228 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2228) + } + _ => panic() + } + + let lifted2231 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2230 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2230) + } + _ => panic() + } + + let lifted2233 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2232 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2232) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2229, max : lifted2231, unit : lifted2233}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted2234) + } + 5 => { + + let lifted2241 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2236 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2235 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2235) + } + _ => panic() + } + + let lifted2238 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2237 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2237) + } + _ => panic() + } + + let lifted2240 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2239 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2239) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2236, max : lifted2238, unit : lifted2240}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted2241) + } + 6 => { + + let lifted2248 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2243 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2242 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2242) + } + _ => panic() + } + + let lifted2245 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2244 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2244) + } + _ => panic() + } + + let lifted2247 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2246 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2246) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2243, max : lifted2245, unit : lifted2247}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted2248) + } + 7 => { + + let lifted2255 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2250 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2249 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2249) + } + _ => panic() + } + + let lifted2252 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2251 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2251) + } + _ => panic() + } + + let lifted2254 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2253 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2253) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2250, max : lifted2252, unit : lifted2254}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2255) + } + 8 => { + + let lifted2262 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2257 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2256 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2256) + } + _ => panic() + } + + let lifted2259 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2258 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2258) + } + _ => panic() + } + + let lifted2261 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2260 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2260) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2257, max : lifted2259, unit : lifted2261}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2262) + } + 9 => { + + let lifted2269 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2264 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2263 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2263) + } + _ => panic() + } + + let lifted2266 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2265 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2265) + } + _ => panic() + } + + let lifted2268 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2267 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2267) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2264, max : lifted2266, unit : lifted2268}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2269) + } + 10 => { + + let lifted2276 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2271 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2270 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2270) + } + _ => panic() + } + + let lifted2273 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2272 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2272) + } + _ => panic() + } + + let lifted2275 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2274 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2274) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2271, max : lifted2273, unit : lifted2275}) + } + _ => panic() + } - Option::Some(lifted2131) - } - _ => panic() - } + @types.SchemaTypeBody::F32Type(lifted2276) + } + 11 => { - array2133.push(@types.UnionBranch::{ - tag: result2110, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2119, - metadata: @types.MetadataEnvelope::{ - doc: lifted2121, - aliases: array2123, - examples: array2126, - deprecated: lifted2129, - role: lifted2132, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2133, - }) - } - 32 => { - let lifted2136 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2135 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2135) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2136, - }) - } - 33 => { - let lifted2138 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2137 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2137) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2138, - }) - } - 34 => { - let lifted2139 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2139) - } - 35 => { - let lifted2140 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2140) - } - _ => panic() - } + let lifted2283 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted2143 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2142 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2142) - } - _ => panic() - } + let lifted2278 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let array2145 : Array[String] = [] - for index2146 = 0 - index2146 < mbt_ffi_load32(iter_base + 104) - index2146 = index2146 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2146 * 8 + let lifted2277 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - let result2144 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - array2145.push(result2144) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - let array2148 : Array[String] = [] - for index2149 = 0 - index2149 < mbt_ffi_load32(iter_base + 112) - index2149 = index2149 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2149 * 8 + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - let result2147 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(lifted2277) + } + _ => panic() + } - array2148.push(result2147) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2151 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2150 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2150) - } - _ => panic() - } + let lifted2280 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - let lifted2154 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2153 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2152 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2152) - } - _ => panic() - } + let lifted2279 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - Option::Some(lifted2153) - } - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - array2155.push(@types.SchemaTypeNode::{ - body: lifted2141, - metadata: @types.MetadataEnvelope::{ - doc: lifted2143, - aliases: array2145, - examples: array2148, - deprecated: lifted2151, - role: lifted2154, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 40)) - - let array2160 : Array[@types.SchemaTypeDef] = [] - for index2161 = 0 - index2161 < mbt_ffi_load32(iter_base + 52) - index2161 = index2161 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2161 * 24 - - let result2157 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2159 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2158 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2158) - } - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - array2160.push(@types.SchemaTypeDef::{ - id: result2157, - name: lifted2159, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array2191 : Array[@types.SchemaValueNode] = [] - for index2192 = 0 - index2192 < mbt_ffi_load32(iter_base + 64) - index2192 = index2192 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + - index2192 * 32 - - let lifted2190 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2162 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2162) - } - 13 => { - let array2163 : Array[Int] = [] - for index2164 = 0 - index2164 < mbt_ffi_load32(iter_base + 12) - index2164 = index2164 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2164 * 4 - - array2163.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2163) - } - 14 => { - let lifted2165 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2165, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2166 : Array[Bool] = [] - for index2167 = 0 - index2167 < mbt_ffi_load32(iter_base + 12) - index2167 = index2167 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2167 * 1 - - array2166.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2166) - } - 17 => { - let array2168 : Array[Int] = [] - for index2169 = 0 - index2169 < mbt_ffi_load32(iter_base + 12) - index2169 = index2169 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2169 * 4 - - array2168.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2168) - } - 18 => { - let array2170 : Array[Int] = [] - for index2171 = 0 - index2171 < mbt_ffi_load32(iter_base + 12) - index2171 = index2171 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2171 * 4 - - array2170.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2170) - } - 19 => { - let array2172 : Array[Int] = [] - for index2173 = 0 - index2173 < mbt_ffi_load32(iter_base + 12) - index2173 = index2173 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2173 * 4 - - array2172.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2172) - } - 20 => { - let array2174 : Array[@types.MapEntry] = [] - for index2175 = 0 - index2175 < mbt_ffi_load32(iter_base + 12) - index2175 = index2175 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2175 * 8 - - array2174.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2174) - } - 21 => { - let lifted2176 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2176) - } - 22 => { - let lifted2179 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2177 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2177) - } - 1 => { - let lifted2178 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2178) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2179) - } - 23 => { - let result2180 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2182 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2181 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2181) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2180, - language: lifted2182, - }) - } - 24 => { - let result2183 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2185 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2184 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2184) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2183, - mime_type: lifted2185, - }) - } - 25 => { - let result2186 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2186) - } - 26 => { - let result2187 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2187) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2188 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2188, - }) - } - 30 => { - let result2189 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2189, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - array2191.push(lifted2190) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - let result2193 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 72), - mbt_ffi_load32(iter_base + 76), - ) - - let array2195 : Array[String] = [] - for index2196 = 0 - index2196 < mbt_ffi_load32(iter_base + 84) - index2196 = index2196 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 80) + index2196 * 8 - - let result2194 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2195.push(result2194) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 80)) - - let array2210 : Array[Array[SpanData]] = [] - for index2211 = 0 - index2211 < mbt_ffi_load32(iter_base + 92) - index2211 = index2211 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index2211 * 8 - - let array2208 : Array[SpanData] = [] - for index2209 = 0 - index2209 < mbt_ffi_load32(iter_base + 4) - index2209 = index2209 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index2209 * 80 - - let lifted2207 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2197 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2199 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2198 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2198) - } - _ => panic() - } + Option::Some(lifted2279) + } + _ => panic() + } - let lifted2200 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2282 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let array2204 : Array[@context.Attribute] = [] - for index2205 = 0 - index2205 < mbt_ffi_load32(iter_base + 68) - index2205 = index2205 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index2205 * 20 - - let result2201 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2203 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2202 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2202) - } - _ => panic() - } - - array2204.push(@context.Attribute::{ - key: result2201, - value: lifted2203, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result2197, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted2199, - linked_context: lifted2200, - attributes: array2204, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result2206 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result2206, - }) - } - _ => panic() - } - - array2208.push(lifted2207) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array2210.push(array2208) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - AgentInvocation::AgentInitialization(AgentInitializationParameters::{ - idempotency_key: result1958, - constructor_parameters: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2155, - defs: array2160, - root: mbt_ffi_load32(iter_base + 56), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2191, - root: mbt_ffi_load32(iter_base + 68), - }, - }, - trace_id: result2193, - trace_states: array2195, - invocation_context: array2210, - }) - } - 1 => { - let result2212 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2213 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array2410 : Array[@types.SchemaTypeNode] = [] - for index2411 = 0 - index2411 < mbt_ffi_load32(iter_base + 52) - index2411 = index2411 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2411 * 144 - - let lifted2396 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted2220 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2215 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2214 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2281 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - Option::Some(lifted2214) - } - _ => panic() - } - - let lifted2217 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2216 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2281) + } + _ => panic() + } - Option::Some(lifted2216) - } - _ => panic() - } - - let lifted2219 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2218 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2218) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2215, - max: lifted2217, - unit: lifted2219, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted2220) - } - 3 => { - let lifted2227 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2222 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2221 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(@types.NumericRestrictions::{min : lifted2278, max : lifted2280, unit : lifted2282}) + } + _ => panic() + } - Option::Some(lifted2221) - } - _ => panic() - } - - let lifted2224 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2223 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::F64Type(lifted2283) + } + 12 => { - Option::Some(lifted2223) - } - _ => panic() - } - - let lifted2226 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2225 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2225) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2222, - max: lifted2224, - unit: lifted2226, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted2227) - } - 4 => { - let lifted2234 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2229 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2228 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::CharType + } + 13 => { - Option::Some(lifted2228) - } - _ => panic() - } - - let lifted2231 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2230 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::StringType + } + 14 => { - Option::Some(lifted2230) - } - _ => panic() - } - - let lifted2233 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2232 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2232) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2229, - max: lifted2231, - unit: lifted2233, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted2234) - } - 5 => { - let lifted2241 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2236 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2235 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2298 : Array[@types.NamedFieldType] = []; + for index2299 = 0; index2299 < (mbt_ffi_load32((iter_base) + 12)); index2299 = index2299 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2299 * 68) - Option::Some(lifted2235) - } - _ => panic() - } - - let lifted2238 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2237 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2284 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2237) - } - _ => panic() - } - - let lifted2240 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2239 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2239) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2236, - max: lifted2238, - unit: lifted2240, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted2241) - } - 6 => { - let lifted2248 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2243 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2242 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2286 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted2242) - } - _ => panic() - } - - let lifted2245 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2244 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2285 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted2244) - } - _ => panic() - } - - let lifted2247 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2246 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2246) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2243, - max: lifted2245, - unit: lifted2247, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted2248) - } - 7 => { - let lifted2255 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2250 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2249 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2285) + } + _ => panic() + } - Option::Some(lifted2249) - } - _ => panic() - } - - let lifted2252 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2251 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2288 : Array[String] = []; + for index2289 = 0; index2289 < (mbt_ffi_load32((iter_base) + 28)); index2289 = index2289 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2289 * 8) - Option::Some(lifted2251) - } - _ => panic() - } - - let lifted2254 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2253 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2253) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2250, - max: lifted2252, - unit: lifted2254, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted2255) - } - 8 => { - let lifted2262 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2257 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2256 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2287 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2256) - } - _ => panic() - } - - let lifted2259 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2258 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2288.push(result2287) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted2258) - } - _ => panic() - } - - let lifted2261 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2260 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2260) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2257, - max: lifted2259, - unit: lifted2261, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted2262) - } - 9 => { - let lifted2269 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2264 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2263 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2291 : Array[String] = []; + for index2292 = 0; index2292 < (mbt_ffi_load32((iter_base) + 36)); index2292 = index2292 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2292 * 8) - Option::Some(lifted2263) - } - _ => panic() - } - - let lifted2266 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2265 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2290 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2265) - } - _ => panic() - } - - let lifted2268 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2267 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2267) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2264, - max: lifted2266, - unit: lifted2268, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted2269) - } - 10 => { - let lifted2276 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2271 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2270 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2291.push(result2290) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) - Option::Some(lifted2270) - } - _ => panic() - } - - let lifted2273 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2272 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2294 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - Option::Some(lifted2272) - } - _ => panic() - } - - let lifted2275 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2274 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2274) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2271, - max: lifted2273, - unit: lifted2275, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2276) - } - 11 => { - let lifted2283 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2278 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2277 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2293 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - Option::Some(lifted2277) - } - _ => panic() - } - - let lifted2280 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2279 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2293) + } + _ => panic() + } - Option::Some(lifted2279) - } - _ => panic() - } - - let lifted2282 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2281 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2281) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2278, - max: lifted2280, - unit: lifted2282, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2283) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2298 : Array[@types.NamedFieldType] = [] - for index2299 = 0 - index2299 < mbt_ffi_load32(iter_base + 12) - index2299 = index2299 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2299 * 68 - - let result2284 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2286 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2285 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2285) - } - _ => panic() - } + let lifted2297 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { - let array2288 : Array[String] = [] - for index2289 = 0 - index2289 < mbt_ffi_load32(iter_base + 28) - index2289 = index2289 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2289 * 8 + let lifted2296 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { - let result2287 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.Role::Multimodal + } + 1 => { - array2288.push(result2287) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.Role::UnstructuredText + } + 2 => { - let array2291 : Array[String] = [] - for index2292 = 0 - index2292 < mbt_ffi_load32(iter_base + 36) - index2292 = index2292 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2292 * 8 + @types.Role::UnstructuredBinary + } + 3 => { - let result2290 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2295 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) - array2291.push(result2290) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2294 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2293 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2293) - } - _ => panic() - } + @types.Role::Other(result2295) + } + _ => panic() + } - let lifted2297 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2296 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2295 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + Option::Some(lifted2296) + } + _ => panic() + } - @types.Role::Other(result2295) - } - _ => panic() - } + array2298.push(@types.NamedFieldType::{name : result2284, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2286, aliases : array2288, examples : array2291, deprecated : lifted2294, role : lifted2297}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2296) - } - _ => panic() - } + @types.SchemaTypeBody::RecordType(array2298) + } + 15 => { - array2298.push(@types.NamedFieldType::{ - name: result2284, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2286, - aliases: array2288, - examples: array2291, - deprecated: lifted2294, - role: lifted2297, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2298) - } - 15 => { - let array2315 : Array[@types.VariantCaseType] = [] - for index2316 = 0 - index2316 < mbt_ffi_load32(iter_base + 12) - index2316 = index2316 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2316 * 72 - - let result2300 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2301 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let array2315 : Array[@types.VariantCaseType] = []; + for index2316 = 0; index2316 < (mbt_ffi_load32((iter_base) + 12)); index2316 = index2316 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2316 * 72) - let lifted2303 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2302 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2302) - } - _ => panic() - } + let result2300 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let array2305 : Array[String] = [] - for index2306 = 0 - index2306 < mbt_ffi_load32(iter_base + 32) - index2306 = index2306 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2306 * 8 + let lifted2301 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let result2304 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - array2305.push(result2304) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let lifted2303 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let array2308 : Array[String] = [] - for index2309 = 0 - index2309 < mbt_ffi_load32(iter_base + 40) - index2309 = index2309 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2309 * 8 + let result2302 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let result2307 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2302) + } + _ => panic() + } - array2308.push(result2307) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2311 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2310 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2310) - } - _ => panic() - } + let array2305 : Array[String] = []; + for index2306 = 0; index2306 < (mbt_ffi_load32((iter_base) + 32)); index2306 = index2306 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2306 * 8) - let lifted2314 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2313 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2312 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result2304 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.Role::Other(result2312) - } - _ => panic() - } + array2305.push(result2304) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted2313) - } - _ => panic() - } + let array2308 : Array[String] = []; + for index2309 = 0; index2309 < (mbt_ffi_load32((iter_base) + 40)); index2309 = index2309 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2309 * 8) - array2315.push(@types.VariantCaseType::{ - name: result2300, - payload: lifted2301, - metadata: @types.MetadataEnvelope::{ - doc: lifted2303, - aliases: array2305, - examples: array2308, - deprecated: lifted2311, - role: lifted2314, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2315) - } - 16 => { - let array2318 : Array[String] = [] - for index2319 = 0 - index2319 < mbt_ffi_load32(iter_base + 12) - index2319 = index2319 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2319 * 8 - - let result2317 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2318.push(result2317) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2318) - } - 17 => { - let array2321 : Array[String] = [] - for index2322 = 0 - index2322 < mbt_ffi_load32(iter_base + 12) - index2322 = index2322 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2322 * 8 - - let result2320 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2321.push(result2320) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2321) - } - 18 => { - let array2323 : Array[Int] = [] - for index2324 = 0 - index2324 < mbt_ffi_load32(iter_base + 12) - index2324 = index2324 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2324 * 4 - - array2323.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2323) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2325 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2326 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2325, - err: lifted2326, - }) - } - 24 => { - let lifted2330 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2328 : Array[String] = [] - for index2329 = 0 - index2329 < mbt_ffi_load32(iter_base + 16) - index2329 = index2329 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2329 * 8 - - let result2327 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2328.push(result2327) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2328) - } - _ => panic() - } - - let lifted2331 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2332 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2334 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2333 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2333) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2330, - min_length: lifted2331, - max_length: lifted2332, - regex: lifted2334, - }) - } - 25 => { - let lifted2338 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2336 : Array[String] = [] - for index2337 = 0 - index2337 < mbt_ffi_load32(iter_base + 16) - index2337 = index2337 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2337 * 8 - - let result2335 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2336.push(result2335) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2336) - } - _ => panic() - } - - let lifted2339 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2340 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2338, - min_bytes: lifted2339, - max_bytes: lifted2340, - }) - } - 26 => { - let lifted2344 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2342 : Array[String] = [] - for index2343 = 0 - index2343 < mbt_ffi_load32(iter_base + 20) - index2343 = index2343 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2343 * 8 - - let result2341 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2342.push(result2341) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2342) - } - _ => panic() - } - - let lifted2348 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2346 : Array[String] = [] - for index2347 = 0 - index2347 < mbt_ffi_load32(iter_base + 32) - index2347 = index2347 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2347 * 8 - - let result2345 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2346.push(result2345) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2346) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2344, - allowed_extensions: lifted2348, - }) - } - 27 => { - let lifted2352 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2350 : Array[String] = [] - for index2351 = 0 - index2351 < mbt_ffi_load32(iter_base + 16) - index2351 = index2351 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2351 * 8 - - let result2349 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2350.push(result2349) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2350) - } - _ => panic() - } - - let lifted2356 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2354 : Array[String] = [] - for index2355 = 0 - index2355 < mbt_ffi_load32(iter_base + 28) - index2355 = index2355 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2355 * 8 - - let result2353 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2354.push(result2353) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2354) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2352, - allowed_hosts: lifted2356, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2357 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2359 : Array[String] = [] - for index2360 = 0 - index2360 < mbt_ffi_load32(iter_base + 20) - index2360 = index2360 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2360 * 8 - - let result2358 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2359.push(result2358) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2362 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2361 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2361, - }) - } - _ => panic() - } - - let lifted2364 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2363 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2363, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2357, - allowed_suffixes: array2359, - min: lifted2362, - max: lifted2364, - }) - } - 31 => { - let array2388 : Array[@types.UnionBranch] = [] - for index2389 = 0 - index2389 < mbt_ffi_load32(iter_base + 12) - index2389 = index2389 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2389 * 92 - - let result2365 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2374 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2366 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2366) - } - 1 => { - let result2367 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2367) - } - 2 => { - let result2368 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2368) - } - 3 => { - let result2369 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2369) - } - 4 => { - let result2370 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2372 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2371 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result2307 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(result2371) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2370, - literal: lifted2372, - }) - } - 5 => { - let result2373 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2373) - } - _ => panic() - } + array2308.push(result2307) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - let lifted2376 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2375 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2375) - } - _ => panic() - } + let lifted2311 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { - let array2378 : Array[String] = [] - for index2379 = 0 - index2379 < mbt_ffi_load32(iter_base + 52) - index2379 = index2379 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2379 * 8 + let result2310 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - let result2377 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2310) + } + _ => panic() + } - array2378.push(result2377) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let lifted2314 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - let array2381 : Array[String] = [] - for index2382 = 0 - index2382 < mbt_ffi_load32(iter_base + 60) - index2382 = index2382 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2382 * 8 + let lifted2313 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { - let result2380 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.Role::Multimodal + } + 1 => { - array2381.push(result2380) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2384 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2383 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2383) - } - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - let lifted2387 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2386 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2385 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @types.Role::UnstructuredBinary + } + 3 => { - @types.Role::Other(result2385) - } - _ => panic() - } + let result2312 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) - Option::Some(lifted2386) - } - _ => panic() - } + @types.Role::Other(result2312) + } + _ => panic() + } - array2388.push(@types.UnionBranch::{ - tag: result2365, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2374, - metadata: @types.MetadataEnvelope::{ - doc: lifted2376, - aliases: array2378, - examples: array2381, - deprecated: lifted2384, - role: lifted2387, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2388, - }) - } - 32 => { - let lifted2391 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2390 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2390) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2391, - }) - } - 33 => { - let lifted2393 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2392 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2392) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2393, - }) - } - 34 => { - let lifted2394 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2394) - } - 35 => { - let lifted2395 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2395) - } - _ => panic() - } + Option::Some(lifted2313) + } + _ => panic() + } - let lifted2398 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2397 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2397) - } - _ => panic() - } + array2315.push(@types.VariantCaseType::{name : result2300, payload : lifted2301, metadata : @types.MetadataEnvelope::{doc : lifted2303, aliases : array2305, examples : array2308, deprecated : lifted2311, role : lifted2314}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array2400 : Array[String] = [] - for index2401 = 0 - index2401 < mbt_ffi_load32(iter_base + 104) - index2401 = index2401 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2401 * 8 + @types.SchemaTypeBody::VariantType(array2315) + } + 16 => { - let result2399 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2318 : Array[String] = []; + for index2319 = 0; index2319 < (mbt_ffi_load32((iter_base) + 12)); index2319 = index2319 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2319 * 8) - array2400.push(result2399) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let result2317 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let array2403 : Array[String] = [] - for index2404 = 0 - index2404 < mbt_ffi_load32(iter_base + 112) - index2404 = index2404 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2404 * 8 + array2318.push(result2317) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let result2402 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::EnumType(array2318) + } + 17 => { - array2403.push(result2402) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2406 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2405 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2405) - } - _ => panic() - } + let array2321 : Array[String] = []; + for index2322 = 0; index2322 < (mbt_ffi_load32((iter_base) + 12)); index2322 = index2322 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2322 * 8) - let lifted2409 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2408 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2407 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2407) - } - _ => panic() - } + let result2320 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2408) - } - _ => panic() - } + array2321.push(result2320) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array2410.push(@types.SchemaTypeNode::{ - body: lifted2396, - metadata: @types.MetadataEnvelope::{ - doc: lifted2398, - aliases: array2400, - examples: array2403, - deprecated: lifted2406, - role: lifted2409, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array2415 : Array[@types.SchemaTypeDef] = [] - for index2416 = 0 - index2416 < mbt_ffi_load32(iter_base + 60) - index2416 = index2416 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2416 * 24 - - let result2412 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2414 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2413 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2413) - } - _ => panic() - } + @types.SchemaTypeBody::FlagsType(array2321) + } + 18 => { - array2415.push(@types.SchemaTypeDef::{ - id: result2412, - name: lifted2414, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array2446 : Array[@types.SchemaValueNode] = [] - for index2447 = 0 - index2447 < mbt_ffi_load32(iter_base + 72) - index2447 = index2447 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + - index2447 * 32 - - let lifted2445 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2417 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2417) - } - 13 => { - let array2418 : Array[Int] = [] - for index2419 = 0 - index2419 < mbt_ffi_load32(iter_base + 12) - index2419 = index2419 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2419 * 4 - - array2418.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2418) - } - 14 => { - let lifted2420 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2420, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2421 : Array[Bool] = [] - for index2422 = 0 - index2422 < mbt_ffi_load32(iter_base + 12) - index2422 = index2422 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2422 * 1 - - array2421.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2421) - } - 17 => { - let array2423 : Array[Int] = [] - for index2424 = 0 - index2424 < mbt_ffi_load32(iter_base + 12) - index2424 = index2424 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2424 * 4 - - array2423.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2423) - } - 18 => { - let array2425 : Array[Int] = [] - for index2426 = 0 - index2426 < mbt_ffi_load32(iter_base + 12) - index2426 = index2426 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2426 * 4 - - array2425.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2425) - } - 19 => { - let array2427 : Array[Int] = [] - for index2428 = 0 - index2428 < mbt_ffi_load32(iter_base + 12) - index2428 = index2428 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2428 * 4 - - array2427.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2427) - } - 20 => { - let array2429 : Array[@types.MapEntry] = [] - for index2430 = 0 - index2430 < mbt_ffi_load32(iter_base + 12) - index2430 = index2430 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2430 * 8 - - array2429.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2429) - } - 21 => { - let lifted2431 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2431) - } - 22 => { - let lifted2434 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2432 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2432) - } - 1 => { - let lifted2433 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2433) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2434) - } - 23 => { - let result2435 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2437 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2436 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2436) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2435, - language: lifted2437, - }) - } - 24 => { - let result2438 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2440 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2439 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2439) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2438, - mime_type: lifted2440, - }) - } - 25 => { - let result2441 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2441) - } - 26 => { - let result2442 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2442) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2443 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2443, - }) - } - 30 => { - let result2444 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2444, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let array2323 : Array[Int] = []; + for index2324 = 0; index2324 < (mbt_ffi_load32((iter_base) + 12)); index2324 = index2324 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2324 * 4) - array2446.push(lifted2445) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - let result2448 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 80), - mbt_ffi_load32(iter_base + 84), - ) - - let array2450 : Array[String] = [] - for index2451 = 0 - index2451 < mbt_ffi_load32(iter_base + 92) - index2451 = index2451 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index2451 * 8 - - let result2449 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2450.push(result2449) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - let array2465 : Array[Array[SpanData]] = [] - for index2466 = 0 - index2466 < mbt_ffi_load32(iter_base + 100) - index2466 = index2466 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index2466 * 8 - - let array2463 : Array[SpanData] = [] - for index2464 = 0 - index2464 < mbt_ffi_load32(iter_base + 4) - index2464 = index2464 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index2464 * 80 - - let lifted2462 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2452 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2454 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2453 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2453) - } - _ => panic() - } + array2323.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let lifted2455 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::TupleType(array2323) + } + 19 => { - let array2459 : Array[@context.Attribute] = [] - for index2460 = 0 - index2460 < mbt_ffi_load32(iter_base + 68) - index2460 = index2460 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index2460 * 20 - - let result2456 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2458 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2457 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2457) - } - _ => panic() - } - - array2459.push(@context.Attribute::{ - key: result2456, - value: lifted2458, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result2452, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted2454, - linked_context: lifted2455, - attributes: array2459, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result2461 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result2461, - }) - } - _ => panic() - } - - array2463.push(lifted2462) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array2465.push(array2463) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{ - idempotency_key: result2212, - method_name: result2213, - function_input: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2410, - defs: array2415, - root: mbt_ffi_load32(iter_base + 64), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2446, - root: mbt_ffi_load32(iter_base + 76), - }, - }, - trace_id: result2448, - trace_states: array2450, - invocation_context: array2465, - }) - } - 2 => AgentInvocation::SaveSnapshot - 3 => { - let result2467 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2468 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{ - snapshot: SnapshotData::{ - data: result2467, - mime_type: result2468, - }, - }) - } - 4 => { - let result2469 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{ - idempotency_key: result2469, - }) - } - 5 => - AgentInvocation::ManualUpdate(ManualUpdateParameters::{ - target_revision: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - _ => panic() - } + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { - PublicOplogEntry::PendingAgentInvocation(PendingAgentInvocationParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - invocation: lifted2470, - }) - } - 15 => { - let lifted2473 = match mbt_ffi_load8_u(iter_base + 32) { - 0 => UpdateDescription::AutoUpdate - 1 => { - let result2471 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - let result2472 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - UpdateDescription::SnapshotBased(@host.Snapshot::{ - payload: result2471, - mime_type: result2472, - }) - } - _ => panic() - } + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { - PublicOplogEntry::PendingUpdate(PendingUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - description: lifted2473, - }) - } - 16 => { - let array2480 : Array[PluginInstallationDescription] = [] - for index2481 = 0 - index2481 < mbt_ffi_load32(iter_base + 44) - index2481 = index2481 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 40) + index2481 * 48 - - let result2474 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - let result2475 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let array2478 : Array[(String, String)] = [] - for index2479 = 0 - index2479 < mbt_ffi_load32(iter_base + 40) - index2479 = index2479 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index2479 * 16 - - let result2476 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2477 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2478.push((result2476, result2477)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - array2480.push(PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 0).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 16), - plugin_name: result2474, - plugin_version: result2475, - parameters: array2478, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 40)) - - PublicOplogEntry::SuccessfulUpdate(SuccessfulUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - new_component_size: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - new_active_plugins: array2480, - }) - } - 17 => { - let lifted2483 : String? = match mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2482 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2482) - } - _ => panic() - } + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { - PublicOplogEntry::FailedUpdate(FailedUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - details: lifted2483, - }) - } - 18 => - PublicOplogEntry::GrowMemory(GrowMemoryParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - delta: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 19 => - PublicOplogEntry::FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - delta: mbt_ffi_load64(iter_base + 24), - }) - 20 => { - let result2484 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2485 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - PublicOplogEntry::CreateResource(CreateResourceParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - id: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - name: result2484, - owner: result2485, - }) - } - 21 => { - let result2486 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2487 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - PublicOplogEntry::DropResource(DropResourceParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - id: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - name: result2486, - owner: result2487, - }) - } - 22 => { - let result2488 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let result2489 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - PublicOplogEntry::Log(LogParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - level: LogLevel::from(mbt_ffi_load8_u(iter_base + 24)), - context: result2488, - message: result2489, - }) - } - 23 => - PublicOplogEntry::Restart(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - }) - 24 => { - let result2490 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - let result2491 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let array2494 : Array[(String, String)] = [] - for index2495 = 0 - index2495 < mbt_ffi_load32(iter_base + 64) - index2495 = index2495 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + index2495 * 16 - - let result2492 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2493 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2494.push((result2492, result2493)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - PublicOplogEntry::ActivatePlugin(ActivatePluginParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 40), - plugin_name: result2490, - plugin_version: result2491, - parameters: array2494, - }, - }) - } - 25 => { - let result2496 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - let result2497 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let array2500 : Array[(String, String)] = [] - for index2501 = 0 - index2501 < mbt_ffi_load32(iter_base + 64) - index2501 = index2501 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + index2501 * 16 - - let result2498 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2499 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2500.push((result2498, result2499)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - PublicOplogEntry::DeactivatePlugin(DeactivatePluginParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 40), - plugin_name: result2496, - plugin_version: result2497, - parameters: array2500, - }, - }) - } - 26 => - PublicOplogEntry::Revert(RevertParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - dropped_region: OplogRegion::{ - start: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - end: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }) - 27 => { - let result2502 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::CancelPendingInvocation(CancelPendingInvocationParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - idempotency_key: result2502, - }) - } - 28 => { - let result2503 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let lifted2505 : String? = match mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2504 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2504) - } - _ => panic() - } + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { - let lifted2507 : String? = match mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2506 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2506) - } - _ => panic() - } + let lifted2325 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array2511 : Array[@context.Attribute] = [] - for index2512 = 0 - index2512 < mbt_ffi_load32(iter_base + 60) - index2512 = index2512 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + index2512 * 20 - - let result2508 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2510 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2509 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2509) - } - _ => panic() - } - - array2511.push(@context.Attribute::{ - key: result2508, - value: lifted2510, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - PublicOplogEntry::StartSpan(StartSpanParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - span_id: result2503, - parent: lifted2505, - linked_context_id: lifted2507, - attributes: array2511, - }) - } - 29 => { - let result2513 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::FinishSpan(FinishSpanParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - span_id: result2513, - }) - } - 30 => { - let result2514 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let result2515 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let lifted2517 = match mbt_ffi_load8_u(iter_base + 40) { - 0 => { - let result2516 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - @context.AttributeValue::String(result2516) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - PublicOplogEntry::SetSpanAttribute(SetSpanAttributeParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - span_id: result2514, - key: result2515, - value: lifted2517, - }) - } - 31 => { - let result2518 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::BeginRemoteTransaction(BeginRemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - transaction_id: result2518, - }) - } - 32 => - PublicOplogEntry::PreCommitRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 33 => - PublicOplogEntry::PreRollbackRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 34 => - PublicOplogEntry::CommittedRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 35 => - PublicOplogEntry::RolledBackRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - 36 => { - let result2519 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let result2520 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - PublicOplogEntry::Snapshot(SnapshotParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - data: SnapshotData::{ data: result2519, mime_type: result2520 }, - }) - } - 37 => { - let result2521 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - let result2522 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let array2525 : Array[(String, String)] = [] - for index2526 = 0 - index2526 < mbt_ffi_load32(iter_base + 64) - index2526 = index2526 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 60) + index2526 * 16 - - let result2523 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2524 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2525.push((result2523, result2524)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 60)) - - let result2527 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 88), - mbt_ffi_load32(iter_base + 92), - ) - - PublicOplogEntry::OplogProcessorCheckpoint(OplogProcessorCheckpointParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 40), - plugin_name: result2521, - plugin_version: result2522, - parameters: array2525, - }, - target_agent_id: @types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 72).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - }, - }, - agent_id: result2527, - }, - confirmed_up_to: mbt_ffi_load64(iter_base + 96).reinterpret_as_uint64(), - sending_up_to: mbt_ffi_load64(iter_base + 104).reinterpret_as_uint64(), - last_batch_start: mbt_ffi_load64(iter_base + 112).reinterpret_as_uint64(), - }) - } - 38 => { - let result2528 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - let array2560 : Array[@retry.PredicateNode] = [] - for index2561 = 0 - index2561 < mbt_ffi_load32(iter_base + 40) - index2561 = index2561 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index2561 * 32 - - let lifted2559 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2529 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2531 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2530 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2530) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let lifted2326 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - @retry.PredicateNode::PropEq(@retry.PropertyComparison::{ - property_name: result2529, - value: lifted2531, - }) - } - 1 => { - let result2532 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2534 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2533 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2533) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } - @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{ - property_name: result2532, - value: lifted2534, - }) - } - 2 => { - let result2535 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2537 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2536 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2536) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2325, err : lifted2326}) + } + 24 => { - @retry.PredicateNode::PropGt(@retry.PropertyComparison::{ - property_name: result2535, - value: lifted2537, - }) - } - 3 => { - let result2538 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2540 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2539 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2539) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let lifted2330 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @retry.PredicateNode::PropGte(@retry.PropertyComparison::{ - property_name: result2538, - value: lifted2540, - }) - } - 4 => { - let result2541 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2543 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2542 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2542) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array2328 : Array[String] = []; + for index2329 = 0; index2329 < (mbt_ffi_load32((iter_base) + 16)); index2329 = index2329 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2329 * 8) - @retry.PredicateNode::PropLt(@retry.PropertyComparison::{ - property_name: result2541, - value: lifted2543, - }) - } - 5 => { - let result2544 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2546 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2545 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2545) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let result2327 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @retry.PredicateNode::PropLte(@retry.PropertyComparison::{ - property_name: result2544, - value: lifted2546, - }) - } - 6 => { - let result2547 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateNode::PropExists(result2547) - } - 7 => { - let result2548 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2551 : Array[@retry.PredicateValue] = [] - for index2552 = 0 - index2552 < mbt_ffi_load32(iter_base + 20) - index2552 = index2552 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2552 * 16 - - let lifted2550 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2549 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateValue::Text(result2549) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 8), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - _ => panic() - } - - array2551.push(lifted2550) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{ - property_name: result2548, - values: array2551, - }) - } - 8 => { - let result2553 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2554 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{ - property_name: result2553, - pattern: result2554, - }) - } - 9 => { - let result2555 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2556 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{ - property_name: result2555, - pattern: result2556, - }) - } - 10 => { - let result2557 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2558 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropContains(@retry.PropertyPattern::{ - property_name: result2557, - pattern: result2558, - }) - } - 11 => - @retry.PredicateNode::PredAnd( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PredicateNode::PredOr( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PredicateNode::PredNot(mbt_ffi_load32(iter_base + 8)) - 14 => @retry.PredicateNode::PredTrue - 15 => @retry.PredicateNode::PredFalse - _ => panic() - } - - array2560.push(lifted2559) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array2596 : Array[@retry.PolicyNode] = [] - for index2597 = 0 - index2597 < mbt_ffi_load32(iter_base + 48) - index2597 = index2597 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index2597 * 32 - - let lifted2595 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @retry.PolicyNode::Periodic( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 1 => - @retry.PolicyNode::Exponential(@retry.ExponentialConfig::{ - base_delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - factor: mbt_ffi_loadf64(iter_base + 16), - }) - 2 => - @retry.PolicyNode::Fibonacci(@retry.FibonacciConfig::{ - first: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - second: mbt_ffi_load64(iter_base + 16).reinterpret_as_uint64(), - }) - 3 => @retry.PolicyNode::Immediate - 4 => @retry.PolicyNode::Never - 5 => - @retry.PolicyNode::CountBox(@retry.CountBoxConfig::{ - max_retries: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - inner: mbt_ffi_load32(iter_base + 12), - }) - 6 => - @retry.PolicyNode::TimeBox(@retry.TimeBoxConfig::{ - limit: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 16), - }) - 7 => - @retry.PolicyNode::ClampDelay(@retry.ClampConfig::{ - min_delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - max_delay: mbt_ffi_load64(iter_base + 16).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 24), - }) - 8 => - @retry.PolicyNode::AddDelay(@retry.AddDelayConfig::{ - delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 16), - }) - 9 => - @retry.PolicyNode::Jitter(@retry.JitterConfig::{ - factor: mbt_ffi_loadf64(iter_base + 8), - inner: mbt_ffi_load32(iter_base + 16), - }) - 10 => { - let array2593 : Array[@retry.PredicateNode] = [] - for index2594 = 0 - index2594 < mbt_ffi_load32(iter_base + 12) - index2594 = index2594 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2594 * 32 - - let lifted2592 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2562 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2564 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2563 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2563) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array2328.push(result2327) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - @retry.PredicateNode::PropEq(@retry.PropertyComparison::{ - property_name: result2562, - value: lifted2564, - }) - } - 1 => { - let result2565 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2567 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2566 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2566) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + Option::Some(array2328) + } + _ => panic() + } - @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{ - property_name: result2565, - value: lifted2567, - }) - } - 2 => { - let result2568 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2570 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2569) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let lifted2331 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - @retry.PredicateNode::PropGt(@retry.PropertyComparison::{ - property_name: result2568, - value: lifted2570, - }) - } - 3 => { - let result2571 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2573 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2572) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - @retry.PredicateNode::PropGte(@retry.PropertyComparison::{ - property_name: result2571, - value: lifted2573, - }) - } - 4 => { - let result2574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2576 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2575 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2575) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let lifted2332 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - @retry.PredicateNode::PropLt(@retry.PropertyComparison::{ - property_name: result2574, - value: lifted2576, - }) - } - 5 => { - let result2577 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2579 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2578 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2578) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - @retry.PredicateNode::PropLte(@retry.PropertyComparison::{ - property_name: result2577, - value: lifted2579, - }) - } - 6 => { - let result2580 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateNode::PropExists(result2580) - } - 7 => { - let result2581 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2584 : Array[@retry.PredicateValue] = [] - for index2585 = 0 - index2585 < mbt_ffi_load32(iter_base + 20) - index2585 = index2585 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2585 * 16 - - let lifted2583 = match - mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2582 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateValue::Text(result2582) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 8), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - _ => panic() - } - - array2584.push(lifted2583) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{ - property_name: result2581, - values: array2584, - }) - } - 8 => { - let result2586 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2587 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{ - property_name: result2586, - pattern: result2587, - }) - } - 9 => { - let result2588 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{ - property_name: result2588, - pattern: result2589, - }) - } - 10 => { - let result2590 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2591 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropContains(@retry.PropertyPattern::{ - property_name: result2590, - pattern: result2591, - }) - } - 11 => - @retry.PredicateNode::PredAnd( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PredicateNode::PredOr( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PredicateNode::PredNot( - mbt_ffi_load32(iter_base + 8), - ) - 14 => @retry.PredicateNode::PredTrue - 15 => @retry.PredicateNode::PredFalse - _ => panic() - } - - array2593.push(lifted2592) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @retry.PolicyNode::FilteredOn(@retry.FilteredConfig::{ - predicate: @retry.RetryPredicate::{ nodes: array2593 }, - inner: mbt_ffi_load32(iter_base + 16), - }) - } - 11 => - @retry.PolicyNode::AndThen( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PolicyNode::PolicyUnion( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PolicyNode::PolicyIntersect( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - _ => panic() - } - - array2596.push(lifted2595) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - PublicOplogEntry::SetRetryPolicy(SetRetryPolicyParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - policy: @retry.NamedRetryPolicy::{ - name: result2528, - priority: mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - predicate: @retry.RetryPredicate::{ nodes: array2560 }, - policy: @retry.RetryPolicy::{ nodes: array2596 }, - }, - }) - } - 39 => { - let result2598 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - PublicOplogEntry::RemoveRetryPolicy(RemoveRetryPolicyParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - name: result2598, - }) - } - 40 => { - let lifted2599 = match mbt_ffi_load8_u(iter_base + 24) { - 0 => - QueuedCardEvent::Install(QueuedCardEventInstall::{ - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - }) - 1 => - QueuedCardEvent::Revoke(QueuedCardEventRevoke::{ - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - }) - _ => panic() - } + let lifted2334 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - PublicOplogEntry::CardEventQueued(CardEventQueuedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - event: lifted2599, - }) - } - 41 => { - let lifted2600 : UInt64? = match mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2333 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - PublicOplogEntry::CardInstalled(CardInstalledParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - queued_event_index: lifted2600, - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 48).reinterpret_as_uint64(), - }, - }, - }) - } - 42 => - PublicOplogEntry::CardInstallFailed(CardInstallFailedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - queued_event_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - reason: CardInstallFailure::from(mbt_ffi_load8_u(iter_base + 48)), - }) - 43 => - PublicOplogEntry::CardRevoked(CardRevokedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - queued_event_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - }) - 44 => - PublicOplogEntry::CardExpired(CardExpiredParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }, - }, - }) - 45 => { - let array2797 : Array[@types.SchemaTypeNode] = [] - for index2798 = 0 - index2798 < mbt_ffi_load32(iter_base + 40) - index2798 = index2798 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index2798 * 144 - - let lifted2783 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType(mbt_ffi_load32(iter_base + 8)) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted2607 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2602 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2601 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2601) - } - _ => panic() - } - - let lifted2604 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2603 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2603) - } - _ => panic() - } - - let lifted2606 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2605 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2605) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2602, - max: lifted2604, - unit: lifted2606, - }) - } - _ => panic() - } + Option::Some(result2333) + } + _ => panic() + } - @types.SchemaTypeBody::S8Type(lifted2607) - } - 3 => { - let lifted2614 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2609 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2608 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2608) - } - _ => panic() - } - - let lifted2611 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2610 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2610) - } - _ => panic() - } - - let lifted2613 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2612 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2612) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2609, - max: lifted2611, - unit: lifted2613, - }) - } - _ => panic() - } + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2330, min_length : lifted2331, max_length : lifted2332, regex : lifted2334}) + } + 25 => { - @types.SchemaTypeBody::S16Type(lifted2614) - } - 4 => { - let lifted2621 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2616 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2615 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2615) - } - _ => panic() - } - - let lifted2618 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2617 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2617) - } - _ => panic() - } - - let lifted2620 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2619 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2619) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2616, - max: lifted2618, - unit: lifted2620, - }) - } - _ => panic() - } + let lifted2338 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::S32Type(lifted2621) - } - 5 => { - let lifted2628 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2623 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2622 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2622) - } - _ => panic() - } - - let lifted2625 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2624 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2624) - } - _ => panic() - } - - let lifted2627 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2626 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2626) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2623, - max: lifted2625, - unit: lifted2627, - }) - } - _ => panic() - } + let array2336 : Array[String] = []; + for index2337 = 0; index2337 < (mbt_ffi_load32((iter_base) + 16)); index2337 = index2337 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2337 * 8) - @types.SchemaTypeBody::S64Type(lifted2628) - } - 6 => { - let lifted2635 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2630 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2629 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2629) - } - _ => panic() - } - - let lifted2632 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2631 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2631) - } - _ => panic() - } - - let lifted2634 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2633 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2633) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2630, - max: lifted2632, - unit: lifted2634, - }) - } - _ => panic() - } + let result2335 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.SchemaTypeBody::U8Type(lifted2635) - } - 7 => { - let lifted2642 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2637 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2636 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2636) - } - _ => panic() - } - - let lifted2639 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2638 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2638) - } - _ => panic() - } - - let lifted2641 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2640 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2640) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2637, - max: lifted2639, - unit: lifted2641, - }) - } - _ => panic() - } + array2336.push(result2335) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - @types.SchemaTypeBody::U16Type(lifted2642) - } - 8 => { - let lifted2649 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2644 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2643 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2643) - } - _ => panic() - } - - let lifted2646 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2645 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2645) - } - _ => panic() - } - - let lifted2648 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2647) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2644, - max: lifted2646, - unit: lifted2648, - }) - } - _ => panic() - } + Option::Some(array2336) + } + _ => panic() + } - @types.SchemaTypeBody::U32Type(lifted2649) - } - 9 => { - let lifted2656 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2651 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2650 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2650) - } - _ => panic() - } - - let lifted2653 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2652 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2652) - } - _ => panic() - } - - let lifted2655 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2654) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2651, - max: lifted2653, - unit: lifted2655, - }) - } - _ => panic() - } + let lifted2339 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::U64Type(lifted2656) - } - 10 => { - let lifted2663 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2658 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2657 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2657) - } - _ => panic() - } - - let lifted2660 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2659 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2659) - } - _ => panic() - } - - let lifted2662 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2661 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2661) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2658, - max: lifted2660, - unit: lifted2662, - }) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - @types.SchemaTypeBody::F32Type(lifted2663) - } - 11 => { - let lifted2670 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2665 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2664 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2664) - } - _ => panic() - } - - let lifted2667 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2666 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2666) - } - _ => panic() - } - - let lifted2669 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2668 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2668) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2665, - max: lifted2667, - unit: lifted2669, - }) - } - _ => panic() - } + let lifted2340 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::F64Type(lifted2670) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2685 : Array[@types.NamedFieldType] = [] - for index2686 = 0 - index2686 < mbt_ffi_load32(iter_base + 12) - index2686 = index2686 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2686 * 68 - - let result2671 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2673 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2672 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2672) - } - _ => panic() - } - - let array2675 : Array[String] = [] - for index2676 = 0 - index2676 < mbt_ffi_load32(iter_base + 28) - index2676 = index2676 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2676 * 8 - - let result2674 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2675.push(result2674) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - let array2678 : Array[String] = [] - for index2679 = 0 - index2679 < mbt_ffi_load32(iter_base + 36) - index2679 = index2679 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2679 * 8 - - let result2677 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2678.push(result2677) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2681 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2680 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2680) - } - _ => panic() - } - - let lifted2684 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2683 = match mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2682 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - @types.Role::Other(result2682) - } - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted2683) - } - _ => panic() - } - - array2685.push(@types.NamedFieldType::{ - name: result2671, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2673, - aliases: array2675, - examples: array2678, - deprecated: lifted2681, - role: lifted2684, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2685) - } - 15 => { - let array2702 : Array[@types.VariantCaseType] = [] - for index2703 = 0 - index2703 < mbt_ffi_load32(iter_base + 12) - index2703 = index2703 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2703 * 72 - - let result2687 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2688 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2690 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2689 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2689) - } - _ => panic() - } - - let array2692 : Array[String] = [] - for index2693 = 0 - index2693 < mbt_ffi_load32(iter_base + 32) - index2693 = index2693 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2693 * 8 - - let result2691 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2692.push(result2691) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array2695 : Array[String] = [] - for index2696 = 0 - index2696 < mbt_ffi_load32(iter_base + 40) - index2696 = index2696 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2696 * 8 - - let result2694 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2695.push(result2694) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2698 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2697 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2697) - } - _ => panic() - } - - let lifted2701 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2700 = match mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2699 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - @types.Role::Other(result2699) - } - _ => panic() - } + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2338, min_bytes : lifted2339, max_bytes : lifted2340}) + } + 26 => { - Option::Some(lifted2700) - } - _ => panic() - } - - array2702.push(@types.VariantCaseType::{ - name: result2687, - payload: lifted2688, - metadata: @types.MetadataEnvelope::{ - doc: lifted2690, - aliases: array2692, - examples: array2695, - deprecated: lifted2698, - role: lifted2701, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2702) - } - 16 => { - let array2705 : Array[String] = [] - for index2706 = 0 - index2706 < mbt_ffi_load32(iter_base + 12) - index2706 = index2706 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2706 * 8 - - let result2704 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2705.push(result2704) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2705) - } - 17 => { - let array2708 : Array[String] = [] - for index2709 = 0 - index2709 < mbt_ffi_load32(iter_base + 12) - index2709 = index2709 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2709 * 8 - - let result2707 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2708.push(result2707) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2708) - } - 18 => { - let array2710 : Array[Int] = [] - for index2711 = 0 - index2711 < mbt_ffi_load32(iter_base + 12) - index2711 = index2711 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2711 * 4 - - array2710.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2710) - } - 19 => - @types.SchemaTypeBody::ListType(mbt_ffi_load32(iter_base + 8)) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2712 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let lifted2344 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let lifted2713 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } + let array2342 : Array[String] = []; + for index2343 = 0; index2343 < (mbt_ffi_load32((iter_base) + 20)); index2343 = index2343 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2343 * 8) - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2712, - err: lifted2713, - }) - } - 24 => { - let lifted2717 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2715 : Array[String] = [] - for index2716 = 0 - index2716 < mbt_ffi_load32(iter_base + 16) - index2716 = index2716 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2716 * 8 - - let result2714 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2715.push(result2714) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2715) - } - _ => panic() - } + let result2341 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted2718 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } + array2342.push(result2341) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - let lifted2719 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } + Option::Some(array2342) + } + _ => panic() + } - let lifted2721 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2720 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2720) - } - _ => panic() - } + let lifted2348 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2717, - min_length: lifted2718, - max_length: lifted2719, - regex: lifted2721, - }) - } - 25 => { - let lifted2725 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2723 : Array[String] = [] - for index2724 = 0 - index2724 < mbt_ffi_load32(iter_base + 16) - index2724 = index2724 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2724 * 8 - - let result2722 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2723.push(result2722) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2723) - } - _ => panic() - } + let array2346 : Array[String] = []; + for index2347 = 0; index2347 < (mbt_ffi_load32((iter_base) + 32)); index2347 = index2347 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2347 * 8) - let lifted2726 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } + let result2345 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted2727 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } + array2346.push(result2345) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2725, - min_bytes: lifted2726, - max_bytes: lifted2727, - }) - } - 26 => { - let lifted2731 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2729 : Array[String] = [] - for index2730 = 0 - index2730 < mbt_ffi_load32(iter_base + 20) - index2730 = index2730 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2730 * 8 - - let result2728 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2729.push(result2728) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2729) - } - _ => panic() - } + Option::Some(array2346) + } + _ => panic() + } - let lifted2735 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2733 : Array[String] = [] - for index2734 = 0 - index2734 < mbt_ffi_load32(iter_base + 32) - index2734 = index2734 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2734 * 8 - - let result2732 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2733.push(result2732) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2733) - } - _ => panic() - } + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2344, allowed_extensions : lifted2348}) + } + 27 => { - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from(mbt_ffi_load8_u(iter_base + 9)), - allowed_mime_types: lifted2731, - allowed_extensions: lifted2735, - }) - } - 27 => { - let lifted2739 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2737 : Array[String] = [] - for index2738 = 0 - index2738 < mbt_ffi_load32(iter_base + 16) - index2738 = index2738 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2738 * 8 - - let result2736 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2737.push(result2736) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2737) - } - _ => panic() - } + let lifted2352 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted2743 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2741 : Array[String] = [] - for index2742 = 0 - index2742 < mbt_ffi_load32(iter_base + 28) - index2742 = index2742 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2742 * 8 - - let result2740 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2741.push(result2740) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2741) - } - _ => panic() - } + let array2350 : Array[String] = []; + for index2351 = 0; index2351 < (mbt_ffi_load32((iter_base) + 16)); index2351 = index2351 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2351 * 8) - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2739, - allowed_hosts: lifted2743, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2744 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2746 : Array[String] = [] - for index2747 = 0 - index2747 < mbt_ffi_load32(iter_base + 20) - index2747 = index2747 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2747 * 8 - - let result2745 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2746.push(result2745) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2749 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2748 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2748, - }) - } - _ => panic() - } + let result2349 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted2751 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2750 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2750, - }) - } - _ => panic() - } + array2350.push(result2349) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2744, - allowed_suffixes: array2746, - min: lifted2749, - max: lifted2751, - }) - } - 31 => { - let array2775 : Array[@types.UnionBranch] = [] - for index2776 = 0 - index2776 < mbt_ffi_load32(iter_base + 12) - index2776 = index2776 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2776 * 92 - - let result2752 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2761 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2753 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2753) - } - 1 => { - let result2754 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2754) - } - 2 => { - let result2755 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2755) - } - 3 => { - let result2756 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2756) - } - 4 => { - let result2757 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2759 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2758 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - Option::Some(result2758) - } - _ => panic() - } + Option::Some(array2350) + } + _ => panic() + } - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2757, - literal: lifted2759, - }) - } - 5 => { - let result2760 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2760) - } - _ => panic() - } - - let lifted2763 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2762 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2762) - } - _ => panic() - } - - let array2765 : Array[String] = [] - for index2766 = 0 - index2766 < mbt_ffi_load32(iter_base + 52) - index2766 = index2766 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2766 * 8 - - let result2764 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2765.push(result2764) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array2768 : Array[String] = [] - for index2769 = 0 - index2769 < mbt_ffi_load32(iter_base + 60) - index2769 = index2769 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2769 * 8 - - let result2767 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2768.push(result2767) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2771 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2770 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2770) - } - _ => panic() - } - - let lifted2774 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2773 = match mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2772 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) - - @types.Role::Other(result2772) - } - _ => panic() - } + let lifted2356 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(lifted2773) - } - _ => panic() - } - - array2775.push(@types.UnionBranch::{ - tag: result2752, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2761, - metadata: @types.MetadataEnvelope::{ - doc: lifted2763, - aliases: array2765, - examples: array2768, - deprecated: lifted2771, - role: lifted2774, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2775, - }) - } - 32 => { - let lifted2778 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2777 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2777) - } - _ => panic() - } + let array2354 : Array[String] = []; + for index2355 = 0; index2355 < (mbt_ffi_load32((iter_base) + 28)); index2355 = index2355 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2355 * 8) - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2778, - }) - } - 33 => { - let lifted2780 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2779 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2779) - } - _ => panic() - } + let result2353 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2780, - }) - } - 34 => { - let lifted2781 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + array2354.push(result2353) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - @types.SchemaTypeBody::FutureType(lifted2781) - } - 35 => { - let lifted2782 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + Option::Some(array2354) + } + _ => panic() + } - @types.SchemaTypeBody::StreamType(lifted2782) - } - _ => panic() - } - - let lifted2785 : String? = match mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2784 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2784) - } - _ => panic() - } - - let array2787 : Array[String] = [] - for index2788 = 0 - index2788 < mbt_ffi_load32(iter_base + 104) - index2788 = index2788 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + index2788 * 8 - - let result2786 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2787.push(result2786) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array2790 : Array[String] = [] - for index2791 = 0 - index2791 < mbt_ffi_load32(iter_base + 112) - index2791 = index2791 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + index2791 * 8 - - let result2789 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2790.push(result2789) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2793 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2792 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2792) - } - _ => panic() - } - - let lifted2796 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2795 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2794 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2794) - } - _ => panic() - } + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2352, allowed_hosts : lifted2356}) + } + 28 => { - Option::Some(lifted2795) - } - _ => panic() - } - - array2797.push(@types.SchemaTypeNode::{ - body: lifted2783, - metadata: @types.MetadataEnvelope::{ - doc: lifted2785, - aliases: array2787, - examples: array2790, - deprecated: lifted2793, - role: lifted2796, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array2802 : Array[@types.SchemaTypeDef] = [] - for index2803 = 0 - index2803 < mbt_ffi_load32(iter_base + 48) - index2803 = index2803 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index2803 * 24 - - let result2799 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2801 : String? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2800 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2800) - } - _ => panic() - } - - array2802.push(@types.SchemaTypeDef::{ - id: result2799, - name: lifted2801, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array2833 : Array[@types.SchemaValueNode] = [] - for index2834 = 0 - index2834 < mbt_ffi_load32(iter_base + 60) - index2834 = index2834 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + index2834 * 32 - - let lifted2832 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value(mbt_ffi_load8(iter_base + 8)) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2804 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2804) - } - 13 => { - let array2805 : Array[Int] = [] - for index2806 = 0 - index2806 < mbt_ffi_load32(iter_base + 12) - index2806 = index2806 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2806 * 4 - - array2805.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2805) - } - 14 => { - let lifted2807 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + @types.SchemaTypeBody::DatetimeType + } + 29 => { - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2807, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2808 : Array[Bool] = [] - for index2809 = 0 - index2809 < mbt_ffi_load32(iter_base + 12) - index2809 = index2809 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2809 * 1 - - array2808.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2808) - } - 17 => { - let array2810 : Array[Int] = [] - for index2811 = 0 - index2811 < mbt_ffi_load32(iter_base + 12) - index2811 = index2811 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2811 * 4 - - array2810.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2810) - } - 18 => { - let array2812 : Array[Int] = [] - for index2813 = 0 - index2813 < mbt_ffi_load32(iter_base + 12) - index2813 = index2813 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2813 * 4 - - array2812.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2812) - } - 19 => { - let array2814 : Array[Int] = [] - for index2815 = 0 - index2815 < mbt_ffi_load32(iter_base + 12) - index2815 = index2815 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2815 * 4 - - array2814.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2814) - } - 20 => { - let array2816 : Array[@types.MapEntry] = [] - for index2817 = 0 - index2817 < mbt_ffi_load32(iter_base + 12) - index2817 = index2817 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2817 * 8 - - array2816.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2816) - } - 21 => { - let lifted2818 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaTypeBody::DurationType + } + 30 => { - @types.SchemaValueNode::OptionValue(lifted2818) - } - 22 => { - let lifted2821 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2819 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2819) - } - 1 => { - let lifted2820 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2820) - } - _ => panic() - } + let result2357 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.SchemaValueNode::ResultValue(lifted2821) - } - 23 => { - let result2822 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2824 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2823 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2823) - } - _ => panic() - } + let array2359 : Array[String] = []; + for index2360 = 0; index2360 < (mbt_ffi_load32((iter_base) + 20)); index2360 = index2360 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2360 * 8) - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2822, - language: lifted2824, - }) - } - 24 => { - let result2825 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2827 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2826 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2826) - } - _ => panic() - } + let result2358 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2825, - mime_type: lifted2827, - }) - } - 25 => { - let result2828 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2828) - } - 26 => { - let result2829 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2829) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2830 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2830, - }) - } - 30 => { - let result2831 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2831, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken(mbt_ffi_load32(iter_base + 8)), - ) - _ => panic() - } - - array2833.push(lifted2832) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - PublicOplogEntry::HostStreamFrame(HostStreamFrameParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - parent_start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - kind: HostStreamKind::from(mbt_ffi_load8_u(iter_base + 32)), - payload: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2797, - defs: array2802, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2833, - root: mbt_ffi_load32(iter_base + 64), - }, - }, - }) - } - 46 => - PublicOplogEntry::CompletionDiscarded(CompletionDiscardedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 24).reinterpret_as_uint64(), - }) - _ => panic() - } - - array2836.push(lifted2835) - } - mbt_ffi_free(mbt_ffi_load32(return_area + 4)) - - Option::Some(array2836) - } - _ => panic() - } - let ret = lifted2838 - mbt_ffi_free(return_area) - return ret -} + array2359.push(result2358) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) -///| -pub fn SearchOplog::search_oplog( - agent_id : @types.AgentId, - text : String, -) -> SearchOplog { - let ptr = mbt_ffi_str2ptr(agent_id.agent_id) - - let ptr0 = mbt_ffi_str2ptr(text) - let result : Int = wasmImportConstructorSearchOplog( - agent_id.component_id.uuid.high_bits.reinterpret_as_int64(), - agent_id.component_id.uuid.low_bits.reinterpret_as_int64(), - ptr, - agent_id.agent_id.length(), - ptr0, - text.length(), - ) - let ret = SearchOplog::SearchOplog(result) - mbt_ffi_free(ptr) - mbt_ffi_free(ptr0) - return ret -} + let lifted2362 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { -///| -pub fn SearchOplog::get_next( - self : SearchOplog, -) -> Array[(UInt64, PublicOplogEntry)]? { - let SearchOplog(handle) = self - let return_area = mbt_ffi_malloc(12) - wasmImportMethodSearchOplogGetNext(handle, return_area) - - let lifted2838 : Array[(UInt64, PublicOplogEntry)]? = match - mbt_ffi_load8_u(return_area + 0) { - 0 => Option::None - 1 => { - let array2836 : Array[(UInt64, PublicOplogEntry)] = [] - for index2837 = 0 - index2837 < mbt_ffi_load32(return_area + 8) - index2837 = index2837 + 1 { - let iter_base = mbt_ffi_load32(return_area + 4) + index2837 * 216 - - let lifted2835 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - let array : Array[(String, String)] = [] - for index = 0 - index < mbt_ffi_load32(iter_base + 76) - index = index + 1 { - let iter_base = mbt_ffi_load32(iter_base + 72) + index * 16 - - let result0 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result1 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array.push((result0, result1)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 72)) - - let lifted : @types.AgentId? = match - mbt_ffi_load8_u(iter_base + 112) { - 0 => Option::None - 1 => { - let result2 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - Option::Some(@types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 120).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 128).reinterpret_as_uint64(), - }, - }, - agent_id: result2, - }) - } - _ => panic() - } + let result2361 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - let array9 : Array[PluginInstallationDescription] = [] - for index10 = 0 - index10 < mbt_ffi_load32(iter_base + 164) - index10 = index10 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 160) + index10 * 48 - - let result3 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - let result4 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let array7 : Array[(String, String)] = [] - for index8 = 0 - index8 < mbt_ffi_load32(iter_base + 40) - index8 = index8 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index8 * 16 - - let result5 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result6 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array7.push((result5, result6)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - array9.push(PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 0).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 16), - plugin_name: result3, - plugin_version: result4, - parameters: array7, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 160)) - - let array248 : Array[LocalAgentConfigEntry] = [] - for index249 = 0 - index249 < mbt_ffi_load32(iter_base + 172) - index249 = index249 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 168) + index249 * 40 - - let array12 : Array[String] = [] - for index13 = 0 - index13 < mbt_ffi_load32(iter_base + 4) - index13 = index13 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + index13 * 8 - - let result11 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array12.push(result11) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - let array210 : Array[@types.SchemaTypeNode] = [] - for index211 = 0 - index211 < mbt_ffi_load32(iter_base + 12) - index211 = index211 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + index211 * 144 - - let lifted196 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted20 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted15 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted14 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2361}) + } + _ => panic() + } - Option::Some(lifted14) - } - _ => panic() - } + let lifted2364 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - let lifted17 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted16 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2363 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) - Option::Some(lifted16) - } - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2363}) + } + _ => panic() + } - let lifted19 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result18 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result18) - } - _ => panic() - } + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2357, allowed_suffixes : array2359, min : lifted2362, max : lifted2364}) + } + 31 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted15, - max: lifted17, - unit: lifted19, - }) - } - _ => panic() - } + let array2388 : Array[@types.UnionBranch] = []; + for index2389 = 0; index2389 < (mbt_ffi_load32((iter_base) + 12)); index2389 = index2389 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2389 * 92) - @types.SchemaTypeBody::S8Type(lifted20) - } - 3 => { - let lifted27 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted22 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted21 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2365 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted21) - } - _ => panic() - } + let lifted2374 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { - let lifted24 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted23 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2366 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted23) - } - _ => panic() - } + @types.DiscriminatorRule::Prefix(result2366) + } + 1 => { - let lifted26 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result25 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result25) - } - _ => panic() - } + let result2367 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(@types.NumericRestrictions::{ - min: lifted22, - max: lifted24, - unit: lifted26, - }) - } - _ => panic() - } + @types.DiscriminatorRule::Suffix(result2367) + } + 2 => { - @types.SchemaTypeBody::S16Type(lifted27) - } - 4 => { - let lifted34 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted29 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted28 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2368 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted28) - } - _ => panic() - } + @types.DiscriminatorRule::Contains(result2368) + } + 3 => { - let lifted31 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted30 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2369 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted30) - } - _ => panic() - } + @types.DiscriminatorRule::Regex(result2369) + } + 4 => { - let lifted33 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result32 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result32) - } - _ => panic() - } + let result2370 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(@types.NumericRestrictions::{ - min: lifted29, - max: lifted31, - unit: lifted33, - }) - } - _ => panic() - } + let lifted2372 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::S32Type(lifted34) - } - 5 => { - let lifted41 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted36 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted35 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2371 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) - Option::Some(lifted35) - } - _ => panic() - } + Option::Some(result2371) + } + _ => panic() + } - let lifted38 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted37 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2370, literal : lifted2372}) + } + 5 => { - Option::Some(lifted37) - } - _ => panic() - } + let result2373 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted40 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result39 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result39) - } - _ => panic() - } + @types.DiscriminatorRule::FieldAbsent(result2373) + } + _ => panic() + } - Option::Some(@types.NumericRestrictions::{ - min: lifted36, - max: lifted38, - unit: lifted40, - }) - } - _ => panic() - } + let lifted2376 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::S64Type(lifted41) - } - 6 => { - let lifted48 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted43 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted42 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2375 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) + + Option::Some(result2375) + } + _ => panic() + } - Option::Some(lifted42) - } - _ => panic() - } + let array2378 : Array[String] = []; + for index2379 = 0; index2379 < (mbt_ffi_load32((iter_base) + 52)); index2379 = index2379 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2379 * 8) - let lifted45 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted44 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2377 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted44) - } - _ => panic() - } + array2378.push(result2377) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - let lifted47 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result46 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result46) - } - _ => panic() - } + let array2381 : Array[String] = []; + for index2382 = 0; index2382 < (mbt_ffi_load32((iter_base) + 60)); index2382 = index2382 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2382 * 8) - Option::Some(@types.NumericRestrictions::{ - min: lifted43, - max: lifted45, - unit: lifted47, - }) - } - _ => panic() - } + let result2380 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.SchemaTypeBody::U8Type(lifted48) - } - 7 => { - let lifted55 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted50 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted49 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2381.push(result2380) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted49) - } - _ => panic() - } + let lifted2384 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let lifted52 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted51 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2383 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - Option::Some(lifted51) - } - _ => panic() - } + Option::Some(result2383) + } + _ => panic() + } - let lifted54 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result53 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result53) - } - _ => panic() - } + let lifted2387 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted50, - max: lifted52, - unit: lifted54, - }) - } - _ => panic() - } + let lifted2386 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { - @types.SchemaTypeBody::U16Type(lifted55) - } - 8 => { - let lifted62 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted57 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted56 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted56) - } - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - let lifted59 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted58 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted58) - } - _ => panic() - } + let result2385 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) - let lifted61 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result60 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result60) - } - _ => panic() - } + @types.Role::Other(result2385) + } + _ => panic() + } - Option::Some(@types.NumericRestrictions::{ - min: lifted57, - max: lifted59, - unit: lifted61, - }) - } - _ => panic() - } + Option::Some(lifted2386) + } + _ => panic() + } - @types.SchemaTypeBody::U32Type(lifted62) - } - 9 => { - let lifted69 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted64 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted63 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2388.push(@types.UnionBranch::{tag : result2365, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2374, metadata : @types.MetadataEnvelope::{doc : lifted2376, aliases : array2378, examples : array2381, deprecated : lifted2384, role : lifted2387}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted63) - } - _ => panic() - } + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2388}) + } + 32 => { - let lifted66 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted65 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2391 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted65) - } - _ => panic() - } + let result2390 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted68 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result67 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result67) - } - _ => panic() - } + Option::Some(result2390) + } + _ => panic() + } - Option::Some(@types.NumericRestrictions::{ - min: lifted64, - max: lifted66, - unit: lifted68, - }) - } - _ => panic() - } + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2391}) + } + 33 => { - @types.SchemaTypeBody::U64Type(lifted69) - } - 10 => { - let lifted76 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted71 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted70 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2393 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted70) - } - _ => panic() - } + let result2392 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - let lifted73 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted72 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2392) + } + _ => panic() + } - Option::Some(lifted72) - } - _ => panic() - } + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2393}) + } + 34 => { - let lifted75 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result74 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result74) - } - _ => panic() - } + let lifted2394 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted71, - max: lifted73, - unit: lifted75, - }) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - @types.SchemaTypeBody::F32Type(lifted76) - } - 11 => { - let lifted83 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted78 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted77 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::FutureType(lifted2394) + } + 35 => { - Option::Some(lifted77) - } - _ => panic() - } + let lifted2395 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted80 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted79 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted79) - } - _ => panic() - } + @types.SchemaTypeBody::StreamType(lifted2395) + } + _ => panic() + } - let lifted82 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result81 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result81) - } - _ => panic() - } + let lifted2398 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { - Option::Some(@types.NumericRestrictions::{ - min: lifted78, - max: lifted80, - unit: lifted82, - }) - } - _ => panic() - } + let result2397 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) - @types.SchemaTypeBody::F64Type(lifted83) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array98 : Array[@types.NamedFieldType] = [] - for index99 = 0 - index99 < mbt_ffi_load32(iter_base + 12) - index99 = index99 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index99 * 68 - - let result84 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted86 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result85 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result85) - } - _ => panic() - } - - let array88 : Array[String] = [] - for index89 = 0 - index89 < mbt_ffi_load32(iter_base + 28) - index89 = index89 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index89 * 8 - - let result87 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array88.push(result87) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - let array91 : Array[String] = [] - for index92 = 0 - index92 < mbt_ffi_load32(iter_base + 36) - index92 = index92 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index92 * 8 - - let result90 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array91.push(result90) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted94 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result93 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result93) - } - _ => panic() - } - - let lifted97 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted96 = match mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result95 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - @types.Role::Other(result95) - } - _ => panic() - } - - Option::Some(lifted96) - } - _ => panic() - } - - array98.push(@types.NamedFieldType::{ - name: result84, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted86, - aliases: array88, - examples: array91, - deprecated: lifted94, - role: lifted97, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array98) - } - 15 => { - let array115 : Array[@types.VariantCaseType] = [] - for index116 = 0 - index116 < mbt_ffi_load32(iter_base + 12) - index116 = index116 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index116 * 72 - - let result100 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted101 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted103 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result102 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result102) - } - _ => panic() - } - - let array105 : Array[String] = [] - for index106 = 0 - index106 < mbt_ffi_load32(iter_base + 32) - index106 = index106 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index106 * 8 - - let result104 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array105.push(result104) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array108 : Array[String] = [] - for index109 = 0 - index109 < mbt_ffi_load32(iter_base + 40) - index109 = index109 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index109 * 8 - - let result107 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array108.push(result107) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted111 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result110 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result110) - } - _ => panic() - } - - let lifted114 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted113 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result112 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - @types.Role::Other(result112) - } - _ => panic() - } - - Option::Some(lifted113) - } - _ => panic() - } - - array115.push(@types.VariantCaseType::{ - name: result100, - payload: lifted101, - metadata: @types.MetadataEnvelope::{ - doc: lifted103, - aliases: array105, - examples: array108, - deprecated: lifted111, - role: lifted114, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array115) - } - 16 => { - let array118 : Array[String] = [] - for index119 = 0 - index119 < mbt_ffi_load32(iter_base + 12) - index119 = index119 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index119 * 8 - - let result117 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array118.push(result117) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array118) - } - 17 => { - let array121 : Array[String] = [] - for index122 = 0 - index122 < mbt_ffi_load32(iter_base + 12) - index122 = index122 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index122 * 8 - - let result120 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array121.push(result120) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array121) - } - 18 => { - let array123 : Array[Int] = [] - for index124 = 0 - index124 < mbt_ffi_load32(iter_base + 12) - index124 = index124 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index124 * 4 - - array123.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array123) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted125 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted126 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted125, - err: lifted126, - }) - } - 24 => { - let lifted130 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array128 : Array[String] = [] - for index129 = 0 - index129 < mbt_ffi_load32(iter_base + 16) - index129 = index129 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index129 * 8 - - let result127 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array128.push(result127) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array128) - } - _ => panic() - } - - let lifted131 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted132 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted134 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result133 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result133) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted130, - min_length: lifted131, - max_length: lifted132, - regex: lifted134, - }) - } - 25 => { - let lifted138 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array136 : Array[String] = [] - for index137 = 0 - index137 < mbt_ffi_load32(iter_base + 16) - index137 = index137 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index137 * 8 - - let result135 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array136.push(result135) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array136) - } - _ => panic() - } - - let lifted139 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted140 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted138, - min_bytes: lifted139, - max_bytes: lifted140, - }) - } - 26 => { - let lifted144 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array142 : Array[String] = [] - for index143 = 0 - index143 < mbt_ffi_load32(iter_base + 20) - index143 = index143 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index143 * 8 - - let result141 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array142.push(result141) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array142) - } - _ => panic() - } - - let lifted148 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array146 : Array[String] = [] - for index147 = 0 - index147 < mbt_ffi_load32(iter_base + 32) - index147 = index147 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index147 * 8 - - let result145 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array146.push(result145) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array146) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted144, - allowed_extensions: lifted148, - }) - } - 27 => { - let lifted152 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array150 : Array[String] = [] - for index151 = 0 - index151 < mbt_ffi_load32(iter_base + 16) - index151 = index151 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index151 * 8 - - let result149 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array150.push(result149) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array150) - } - _ => panic() - } - - let lifted156 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array154 : Array[String] = [] - for index155 = 0 - index155 < mbt_ffi_load32(iter_base + 28) - index155 = index155 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index155 * 8 - - let result153 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array154.push(result153) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + Option::Some(result2397) + } + _ => panic() + } - Option::Some(array154) - } - _ => panic() - } + let array2400 : Array[String] = []; + for index2401 = 0; index2401 < (mbt_ffi_load32((iter_base) + 104)); index2401 = index2401 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2401 * 8) - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted152, - allowed_hosts: lifted156, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result157 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array159 : Array[String] = [] - for index160 = 0 - index160 < mbt_ffi_load32(iter_base + 20) - index160 = index160 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index160 * 8 - - let result158 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array159.push(result158) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted162 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result161 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result161, - }) - } - _ => panic() - } - - let lifted164 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result163 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result163, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result157, - allowed_suffixes: array159, - min: lifted162, - max: lifted164, - }) - } - 31 => { - let array188 : Array[@types.UnionBranch] = [] - for index189 = 0 - index189 < mbt_ffi_load32(iter_base + 12) - index189 = index189 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index189 * 92 - - let result165 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted174 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result166 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result166) - } - 1 => { - let result167 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + let result2399 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.DiscriminatorRule::Suffix(result167) - } - 2 => { - let result168 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + array2400.push(result2399) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) - @types.DiscriminatorRule::Contains(result168) - } - 3 => { - let result169 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + let array2403 : Array[String] = []; + for index2404 = 0; index2404 < (mbt_ffi_load32((iter_base) + 112)); index2404 = index2404 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2404 * 8) - @types.DiscriminatorRule::Regex(result169) - } - 4 => { - let result170 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted172 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result171 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - Option::Some(result171) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result170, - literal: lifted172, - }) - } - 5 => { - let result173 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) + let result2402 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.DiscriminatorRule::FieldAbsent(result173) - } - _ => panic() - } - - let lifted176 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result175 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result175) - } - _ => panic() - } - - let array178 : Array[String] = [] - for index179 = 0 - index179 < mbt_ffi_load32(iter_base + 52) - index179 = index179 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index179 * 8 - - let result177 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array178.push(result177) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array181 : Array[String] = [] - for index182 = 0 - index182 < mbt_ffi_load32(iter_base + 60) - index182 = index182 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index182 * 8 - - let result180 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array181.push(result180) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted184 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result183 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result183) - } - _ => panic() - } - - let lifted187 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted186 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result185 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) - - @types.Role::Other(result185) - } - _ => panic() - } - - Option::Some(lifted186) - } - _ => panic() - } - - array188.push(@types.UnionBranch::{ - tag: result165, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted174, - metadata: @types.MetadataEnvelope::{ - doc: lifted176, - aliases: array178, - examples: array181, - deprecated: lifted184, - role: lifted187, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array188, - }) - } - 32 => { - let lifted191 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result190 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result190) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted191, - }) - } - 33 => { - let lifted193 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result192 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result192) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted193, - }) - } - 34 => { - let lifted194 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted194) - } - 35 => { - let lifted195 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted195) - } - _ => panic() - } - - let lifted198 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result197 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result197) - } - _ => panic() - } - - let array200 : Array[String] = [] - for index201 = 0 - index201 < mbt_ffi_load32(iter_base + 104) - index201 = index201 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + index201 * 8 - - let result199 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array200.push(result199) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array203 : Array[String] = [] - for index204 = 0 - index204 < mbt_ffi_load32(iter_base + 112) - index204 = index204 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + index204 * 8 - - let result202 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array203.push(result202) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted206 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result205 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result205) - } - _ => panic() - } - - let lifted209 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted208 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result207 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result207) - } - _ => panic() - } - - Option::Some(lifted208) - } - _ => panic() - } - - array210.push(@types.SchemaTypeNode::{ - body: lifted196, - metadata: @types.MetadataEnvelope::{ - doc: lifted198, - aliases: array200, - examples: array203, - deprecated: lifted206, - role: lifted209, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - let array215 : Array[@types.SchemaTypeDef] = [] - for index216 = 0 - index216 < mbt_ffi_load32(iter_base + 20) - index216 = index216 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + index216 * 24 - - let result212 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted214 : String? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result213 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result213) - } - _ => panic() - } - - array215.push(@types.SchemaTypeDef::{ - id: result212, - name: lifted214, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let array246 : Array[@types.SchemaValueNode] = [] - for index247 = 0 - index247 < mbt_ffi_load32(iter_base + 32) - index247 = index247 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + index247 * 32 - - let lifted245 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result217 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result217) - } - 13 => { - let array218 : Array[Int] = [] - for index219 = 0 - index219 < mbt_ffi_load32(iter_base + 12) - index219 = index219 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index219 * 4 - - array218.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array218) - } - 14 => { - let lifted220 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted220, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array221 : Array[Bool] = [] - for index222 = 0 - index222 < mbt_ffi_load32(iter_base + 12) - index222 = index222 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index222 * 1 - - array221.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array221) - } - 17 => { - let array223 : Array[Int] = [] - for index224 = 0 - index224 < mbt_ffi_load32(iter_base + 12) - index224 = index224 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index224 * 4 - - array223.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array223) - } - 18 => { - let array225 : Array[Int] = [] - for index226 = 0 - index226 < mbt_ffi_load32(iter_base + 12) - index226 = index226 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index226 * 4 - - array225.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array225) - } - 19 => { - let array227 : Array[Int] = [] - for index228 = 0 - index228 < mbt_ffi_load32(iter_base + 12) - index228 = index228 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index228 * 4 - - array227.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array227) - } - 20 => { - let array229 : Array[@types.MapEntry] = [] - for index230 = 0 - index230 < mbt_ffi_load32(iter_base + 12) - index230 = index230 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index230 * 8 - - array229.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array229) - } - 21 => { - let lifted231 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted231) - } - 22 => { - let lifted234 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted232 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + array2403.push(result2402) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) - @types.ResultValuePayload::OkValue(lifted232) - } - 1 => { - let lifted233 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + let lifted2406 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { - @types.ResultValuePayload::ErrValue(lifted233) - } - _ => panic() - } + let result2405 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) - @types.SchemaValueNode::ResultValue(lifted234) - } - 23 => { - let result235 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted237 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result236 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result236) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result235, - language: lifted237, - }) - } - 24 => { - let result238 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted240 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result239 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result239) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result238, - mime_type: lifted240, - }) - } - 25 => { - let result241 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) + Option::Some(result2405) + } + _ => panic() + } - @types.SchemaValueNode::PathValue(result241) - } - 26 => { - let result242 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) + let lifted2409 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { - @types.SchemaValueNode::UrlValue(result242) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result243 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result243, - }) - } - 30 => { - let result244 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result244, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } - - array246.push(lifted245) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - array248.push(LocalAgentConfigEntry::{ - path: array12, - value: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array210, - defs: array215, - root: mbt_ffi_load32(iter_base + 24), - }, - value: @types.SchemaValueTree::{ - value_nodes: array246, - root: mbt_ffi_load32(iter_base + 36), - }, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 168)) - - let lifted250 : @types.Uuid? = match - mbt_ffi_load8_u(iter_base + 176) { - 0 => Option::None - 1 => - Option::Some(@types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 184).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 192).reinterpret_as_uint64(), - }) - _ => panic() - } + let lifted2408 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { - PublicOplogEntry::Create(CreateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - agent_id: @types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - agent_id: result, - }, - agent_mode: AgentMode::from(mbt_ffi_load8_u(iter_base + 56)), - component_revision: mbt_ffi_load64(iter_base + 64).reinterpret_as_uint64(), - env: array, - created_by: @types.AccountId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 88).reinterpret_as_uint64(), - }, - }, - environment_id: @host.EnvironmentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 96).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 104).reinterpret_as_uint64(), - }, - }, - parent: lifted, - component_size: mbt_ffi_load64(iter_base + 144).reinterpret_as_uint64(), - initial_total_linear_memory_size: mbt_ffi_load64(iter_base + 152).reinterpret_as_uint64(), - initial_active_plugins: array9, - local_agent_config: array248, - original_phantom_id: lifted250, - instance_id: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 200).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 208).reinterpret_as_uint64(), - }, - }) - } - 1 => { - let lifted251 : UInt64? = match mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - let result252 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - let lifted253 : @types.Uuid? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => - Option::Some(@types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 64).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 72).reinterpret_as_uint64(), - }) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - let lifted254 : UInt64? = match mbt_ffi_load8_u(iter_base + 80) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 88).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - let lifted489 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 96) { - 0 => Option::None - 1 => { - let array451 : Array[@types.SchemaTypeNode] = [] - for index452 = 0 - index452 < mbt_ffi_load32(iter_base + 104) - index452 = index452 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index452 * 144 - - let lifted437 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted261 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted256 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted255 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2407 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) - Option::Some(lifted255) - } - _ => panic() - } - - let lifted258 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted257 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Other(result2407) + } + _ => panic() + } - Option::Some(lifted257) - } - _ => panic() - } - - let lifted260 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result259 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result259) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted256, - max: lifted258, - unit: lifted260, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted261) - } - 3 => { - let lifted268 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted263 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted262 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted2408) + } + _ => panic() + } - Option::Some(lifted262) - } - _ => panic() - } - - let lifted265 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted264 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2410.push(@types.SchemaTypeNode::{body : lifted2396, metadata : @types.MetadataEnvelope::{doc : lifted2398, aliases : array2400, examples : array2403, deprecated : lifted2406, role : lifted2409}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted264) - } - _ => panic() - } - - let lifted267 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result266 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result266) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted263, - max: lifted265, - unit: lifted267, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted268) - } - 4 => { - let lifted275 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted270 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted269 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2415 : Array[@types.SchemaTypeDef] = []; + for index2416 = 0; index2416 < (mbt_ffi_load32((iter_base) + 68)); index2416 = index2416 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2416 * 24) - Option::Some(lifted269) - } - _ => panic() - } - - let lifted272 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted271 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2412 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted271) - } - _ => panic() - } - - let lifted274 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result273 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result273) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted270, - max: lifted272, - unit: lifted274, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted275) - } - 5 => { - let lifted282 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted277 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted276 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2414 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted276) - } - _ => panic() - } - - let lifted279 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted278 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2413 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - Option::Some(lifted278) - } - _ => panic() - } - - let lifted281 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result280 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result280) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted277, - max: lifted279, - unit: lifted281, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted282) - } - 6 => { - let lifted289 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted284 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted283 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2413) + } + _ => panic() + } - Option::Some(lifted283) - } - _ => panic() - } - - let lifted286 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted285 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2415.push(@types.SchemaTypeDef::{id : result2412, name : lifted2414, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) - Option::Some(lifted285) - } - _ => panic() - } - - let lifted288 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result287 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result287) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted284, - max: lifted286, - unit: lifted288, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted289) - } - 7 => { - let lifted296 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted291 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted290 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2446 : Array[@types.SchemaValueNode] = []; + for index2447 = 0; index2447 < (mbt_ffi_load32((iter_base) + 80)); index2447 = index2447 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 76)) + (index2447 * 32) - Option::Some(lifted290) - } - _ => panic() - } - - let lifted293 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted292 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2445 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted292) - } - _ => panic() - } - - let lifted295 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result294 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result294) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted291, - max: lifted293, - unit: lifted295, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted296) - } - 8 => { - let lifted303 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted298 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted297 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { - Option::Some(lifted297) - } - _ => panic() - } - - let lifted300 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted299 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { - Option::Some(lifted299) - } - _ => panic() - } - - let lifted302 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result301 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result301) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted298, - max: lifted300, - unit: lifted302, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted303) - } - 9 => { - let lifted310 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted305 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted304 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { - Option::Some(lifted304) - } - _ => panic() - } - - let lifted307 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted306 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { - Option::Some(lifted306) - } - _ => panic() - } - - let lifted309 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result308 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result308) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted305, - max: lifted307, - unit: lifted309, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted310) - } - 10 => { - let lifted317 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted312 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted311 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { - Option::Some(lifted311) - } - _ => panic() - } - - let lifted314 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted313 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { - Option::Some(lifted313) - } - _ => panic() - } - - let lifted316 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result315 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result315) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted312, - max: lifted314, - unit: lifted316, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted317) - } - 11 => { - let lifted324 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted319 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted318 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { - Option::Some(lifted318) - } - _ => panic() - } - - let lifted321 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted320 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { - Option::Some(lifted320) - } - _ => panic() - } - - let lifted323 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result322 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result322) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted319, - max: lifted321, - unit: lifted323, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted324) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array339 : Array[@types.NamedFieldType] = [] - for index340 = 0 - index340 < mbt_ffi_load32(iter_base + 12) - index340 = index340 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index340 * 68 - - let result325 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted327 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result326 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result326) - } - _ => panic() - } + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { - let array329 : Array[String] = [] - for index330 = 0 - index330 < mbt_ffi_load32(iter_base + 28) - index330 = index330 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index330 * 8 + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { - let result328 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { - array329.push(result328) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { - let array332 : Array[String] = [] - for index333 = 0 - index333 < mbt_ffi_load32(iter_base + 36) - index333 = index333 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index333 * 8 + let result2417 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result331 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::StringValue(result2417) + } + 13 => { - array332.push(result331) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted335 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result334 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result334) - } - _ => panic() - } + let array2418 : Array[Int] = []; + for index2419 = 0; index2419 < (mbt_ffi_load32((iter_base) + 12)); index2419 = index2419 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2419 * 4) - let lifted338 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted337 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result336 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + array2418.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @types.Role::Other(result336) - } - _ => panic() - } + @types.SchemaValueNode::RecordValue(array2418) + } + 14 => { - Option::Some(lifted337) - } - _ => panic() - } + let lifted2420 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - array339.push(@types.NamedFieldType::{ - name: result325, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted327, - aliases: array329, - examples: array332, - deprecated: lifted335, - role: lifted338, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array339) - } - 15 => { - let array356 : Array[@types.VariantCaseType] = [] - for index357 = 0 - index357 < mbt_ffi_load32(iter_base + 12) - index357 = index357 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index357 * 72 - - let result341 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted342 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - let lifted344 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result343 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result343) - } - _ => panic() - } + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2420}) + } + 15 => { - let array346 : Array[String] = [] - for index347 = 0 - index347 < mbt_ffi_load32(iter_base + 32) - index347 = index347 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index347 * 8 + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { - let result345 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2421 : Array[Bool] = []; + for index2422 = 0; index2422 < (mbt_ffi_load32((iter_base) + 12)); index2422 = index2422 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2422 * 1) - array346.push(result345) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + array2421.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array349 : Array[String] = [] - for index350 = 0 - index350 < mbt_ffi_load32(iter_base + 40) - index350 = index350 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index350 * 8 + @types.SchemaValueNode::FlagsValue(array2421) + } + 17 => { - let result348 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2423 : Array[Int] = []; + for index2424 = 0; index2424 < (mbt_ffi_load32((iter_base) + 12)); index2424 = index2424 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2424 * 4) - array349.push(result348) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted352 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result351 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result351) - } - _ => panic() - } + array2423.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let lifted355 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted354 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result353 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.SchemaValueNode::TupleValue(array2423) + } + 18 => { - @types.Role::Other(result353) - } - _ => panic() - } + let array2425 : Array[Int] = []; + for index2426 = 0; index2426 < (mbt_ffi_load32((iter_base) + 12)); index2426 = index2426 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2426 * 4) - Option::Some(lifted354) - } - _ => panic() - } + array2425.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array356.push(@types.VariantCaseType::{ - name: result341, - payload: lifted342, - metadata: @types.MetadataEnvelope::{ - doc: lifted344, - aliases: array346, - examples: array349, - deprecated: lifted352, - role: lifted355, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array356) - } - 16 => { - let array359 : Array[String] = [] - for index360 = 0 - index360 < mbt_ffi_load32(iter_base + 12) - index360 = index360 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index360 * 8 - - let result358 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array359.push(result358) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array359) - } - 17 => { - let array362 : Array[String] = [] - for index363 = 0 - index363 < mbt_ffi_load32(iter_base + 12) - index363 = index363 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index363 * 8 - - let result361 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array362.push(result361) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array362) - } - 18 => { - let array364 : Array[Int] = [] - for index365 = 0 - index365 < mbt_ffi_load32(iter_base + 12) - index365 = index365 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index365 * 4 - - array364.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array364) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted366 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted367 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted366, - err: lifted367, - }) - } - 24 => { - let lifted371 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array369 : Array[String] = [] - for index370 = 0 - index370 < mbt_ffi_load32(iter_base + 16) - index370 = index370 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index370 * 8 - - let result368 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array369.push(result368) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array369) - } - _ => panic() - } - - let lifted372 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted373 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted375 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result374 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result374) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted371, - min_length: lifted372, - max_length: lifted373, - regex: lifted375, - }) - } - 25 => { - let lifted379 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array377 : Array[String] = [] - for index378 = 0 - index378 < mbt_ffi_load32(iter_base + 16) - index378 = index378 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index378 * 8 - - let result376 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array377.push(result376) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array377) - } - _ => panic() - } - - let lifted380 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted381 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted379, - min_bytes: lifted380, - max_bytes: lifted381, - }) - } - 26 => { - let lifted385 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array383 : Array[String] = [] - for index384 = 0 - index384 < mbt_ffi_load32(iter_base + 20) - index384 = index384 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index384 * 8 - - let result382 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array383.push(result382) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array383) - } - _ => panic() - } - - let lifted389 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array387 : Array[String] = [] - for index388 = 0 - index388 < mbt_ffi_load32(iter_base + 32) - index388 = index388 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index388 * 8 - - let result386 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array387.push(result386) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array387) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted385, - allowed_extensions: lifted389, - }) - } - 27 => { - let lifted393 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array391 : Array[String] = [] - for index392 = 0 - index392 < mbt_ffi_load32(iter_base + 16) - index392 = index392 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index392 * 8 - - let result390 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array391.push(result390) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array391) - } - _ => panic() - } - - let lifted397 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array395 : Array[String] = [] - for index396 = 0 - index396 < mbt_ffi_load32(iter_base + 28) - index396 = index396 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index396 * 8 - - let result394 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array395.push(result394) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array395) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted393, - allowed_hosts: lifted397, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result398 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array400 : Array[String] = [] - for index401 = 0 - index401 < mbt_ffi_load32(iter_base + 20) - index401 = index401 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index401 * 8 - - let result399 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array400.push(result399) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted403 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result402 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result402, - }) - } - _ => panic() - } - - let lifted405 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result404 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result404, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result398, - allowed_suffixes: array400, - min: lifted403, - max: lifted405, - }) - } - 31 => { - let array429 : Array[@types.UnionBranch] = [] - for index430 = 0 - index430 < mbt_ffi_load32(iter_base + 12) - index430 = index430 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index430 * 92 - - let result406 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted415 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result407 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result407) - } - 1 => { - let result408 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result408) - } - 2 => { - let result409 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result409) - } - 3 => { - let result410 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result410) - } - 4 => { - let result411 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted413 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result412 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.SchemaValueNode::ListValue(array2425) + } + 19 => { - Option::Some(result412) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result411, - literal: lifted413, - }) - } - 5 => { - let result414 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result414) - } - _ => panic() - } + let array2427 : Array[Int] = []; + for index2428 = 0; index2428 < (mbt_ffi_load32((iter_base) + 12)); index2428 = index2428 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2428 * 4) - let lifted417 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result416 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result416) - } - _ => panic() - } + array2427.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array419 : Array[String] = [] - for index420 = 0 - index420 < mbt_ffi_load32(iter_base + 52) - index420 = index420 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index420 * 8 + @types.SchemaValueNode::FixedListValue(array2427) + } + 20 => { - let result418 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2429 : Array[@types.MapEntry] = []; + for index2430 = 0; index2430 < (mbt_ffi_load32((iter_base) + 12)); index2430 = index2430 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2430 * 8) - array419.push(result418) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + array2429.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array422 : Array[String] = [] - for index423 = 0 - index423 < mbt_ffi_load32(iter_base + 60) - index423 = index423 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index423 * 8 + @types.SchemaValueNode::MapValue(array2429) + } + 21 => { - let result421 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2431 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - array422.push(result421) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted425 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result424 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result424) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let lifted428 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted427 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result426 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @types.SchemaValueNode::OptionValue(lifted2431) + } + 22 => { - @types.Role::Other(result426) - } - _ => panic() - } + let lifted2434 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - Option::Some(lifted427) - } - _ => panic() - } + let lifted2432 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - array429.push(@types.UnionBranch::{ - tag: result406, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted415, - metadata: @types.MetadataEnvelope::{ - doc: lifted417, - aliases: array419, - examples: array422, - deprecated: lifted425, - role: lifted428, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array429, - }) - } - 32 => { - let lifted432 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result431 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result431) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted432, - }) - } - 33 => { - let lifted434 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result433 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result433) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted434, - }) - } - 34 => { - let lifted435 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted435) - } - 35 => { - let lifted436 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted436) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - let lifted439 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result438 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result438) - } - _ => panic() - } + @types.ResultValuePayload::OkValue(lifted2432) + } + 1 => { - let array441 : Array[String] = [] - for index442 = 0 - index442 < mbt_ffi_load32(iter_base + 104) - index442 = index442 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index442 * 8 + let lifted2433 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let result440 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - array441.push(result440) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + @types.ResultValuePayload::ErrValue(lifted2433) + } + _ => panic() + } - let array444 : Array[String] = [] - for index445 = 0 - index445 < mbt_ffi_load32(iter_base + 112) - index445 = index445 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index445 * 8 + @types.SchemaValueNode::ResultValue(lifted2434) + } + 23 => { - let result443 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2435 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array444.push(result443) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted447 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result446 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result446) - } - _ => panic() - } + let lifted2437 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let lifted450 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted449 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result448 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result448) - } - _ => panic() - } + let result2436 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted449) - } - _ => panic() - } + Option::Some(result2436) + } + _ => panic() + } - array451.push(@types.SchemaTypeNode::{ - body: lifted437, - metadata: @types.MetadataEnvelope::{ - doc: lifted439, - aliases: array441, - examples: array444, - deprecated: lifted447, - role: lifted450, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array456 : Array[@types.SchemaTypeDef] = [] - for index457 = 0 - index457 < mbt_ffi_load32(iter_base + 112) - index457 = index457 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index457 * 24 - - let result453 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted455 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result454 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result454) - } - _ => panic() - } + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2435, language : lifted2437}) + } + 24 => { - array456.push(@types.SchemaTypeDef::{ - id: result453, - name: lifted455, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let array487 : Array[@types.SchemaValueNode] = [] - for index488 = 0 - index488 < mbt_ffi_load32(iter_base + 124) - index488 = index488 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 120) + - index488 * 32 - - let lifted486 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result458 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result458) - } - 13 => { - let array459 : Array[Int] = [] - for index460 = 0 - index460 < mbt_ffi_load32(iter_base + 12) - index460 = index460 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index460 * 4 - - array459.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array459) - } - 14 => { - let lifted461 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted461, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array462 : Array[Bool] = [] - for index463 = 0 - index463 < mbt_ffi_load32(iter_base + 12) - index463 = index463 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index463 * 1 - - array462.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array462) - } - 17 => { - let array464 : Array[Int] = [] - for index465 = 0 - index465 < mbt_ffi_load32(iter_base + 12) - index465 = index465 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index465 * 4 - - array464.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array464) - } - 18 => { - let array466 : Array[Int] = [] - for index467 = 0 - index467 < mbt_ffi_load32(iter_base + 12) - index467 = index467 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index467 * 4 - - array466.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array466) - } - 19 => { - let array468 : Array[Int] = [] - for index469 = 0 - index469 < mbt_ffi_load32(iter_base + 12) - index469 = index469 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index469 * 4 - - array468.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array468) - } - 20 => { - let array470 : Array[@types.MapEntry] = [] - for index471 = 0 - index471 < mbt_ffi_load32(iter_base + 12) - index471 = index471 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index471 * 8 - - array470.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array470) - } - 21 => { - let lifted472 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted472) - } - 22 => { - let lifted475 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted473 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted473) - } - 1 => { - let lifted474 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted474) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted475) - } - 23 => { - let result476 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted478 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result477 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result477) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result476, - language: lifted478, - }) - } - 24 => { - let result479 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted481 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result480 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result480) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result479, - mime_type: lifted481, - }) - } - 25 => { - let result482 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result482) - } - 26 => { - let result483 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result483) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result484 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result484, - }) - } - 30 => { - let result485 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result485, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let result2438 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array487.push(lifted486) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 120)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array451, - defs: array456, - root: mbt_ffi_load32(iter_base + 116), - }, - value: @types.SchemaValueTree::{ - value_nodes: array487, - root: mbt_ffi_load32(iter_base + 128), - }, - }) - } - _ => panic() - } + let lifted2440 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let lifted492 = match mbt_ffi_load8_u(iter_base + 136) { - 0 => WrappedFunctionType::ReadLocal - 1 => WrappedFunctionType::WriteLocal - 2 => WrappedFunctionType::ReadRemote - 3 => WrappedFunctionType::WriteRemote - 4 => { - let lifted490 : UInt64? = match - mbt_ffi_load8_u(iter_base + 144) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 152).reinterpret_as_uint64(), - ) - _ => panic() - } - - WrappedFunctionType::WriteRemoteBatched(lifted490) - } - 5 => { - let lifted491 : UInt64? = match - mbt_ffi_load8_u(iter_base + 144) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 152).reinterpret_as_uint64(), - ) - _ => panic() - } - - WrappedFunctionType::WriteRemoteTransaction(lifted491) - } - _ => panic() - } + let result2439 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - PublicOplogEntry::Start(StartParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent_start_index: lifted251, - function_name: result252, - invocation_id: lifted253, - observational_owner: lifted254, - request: lifted489, - durable_function_type: lifted492, - }) - } - 2 => { - let lifted727 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let array689 : Array[@types.SchemaTypeNode] = [] - for index690 = 0 - index690 < mbt_ffi_load32(iter_base + 48) - index690 = index690 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + - index690 * 144 - - let lifted675 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted499 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted494 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted493 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2439) + } + _ => panic() + } - Option::Some(lifted493) - } - _ => panic() - } - - let lifted496 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted495 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2438, mime_type : lifted2440}) + } + 25 => { - Option::Some(lifted495) - } - _ => panic() - } - - let lifted498 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result497 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result497) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted494, - max: lifted496, - unit: lifted498, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted499) - } - 3 => { - let lifted506 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted501 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted500 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2441 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted500) - } - _ => panic() - } - - let lifted503 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted502 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::PathValue(result2441) + } + 26 => { - Option::Some(lifted502) - } - _ => panic() - } - - let lifted505 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result504 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result504) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted501, - max: lifted503, - unit: lifted505, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted506) - } - 4 => { - let lifted513 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted508 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted507 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2442 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted507) - } - _ => panic() - } - - let lifted510 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted509 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::UrlValue(result2442) + } + 27 => { - Option::Some(lifted509) - } - _ => panic() - } - - let lifted512 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result511 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result511) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted508, - max: lifted510, - unit: lifted512, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted513) - } - 5 => { - let lifted520 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted515 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted514 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { - Option::Some(lifted514) - } - _ => panic() - } - - let lifted517 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted516 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { - Option::Some(lifted516) - } - _ => panic() - } - - let lifted519 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result518 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result518) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted515, - max: lifted517, - unit: lifted519, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted520) - } - 6 => { - let lifted527 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted522 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted521 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2443 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted521) - } - _ => panic() - } - - let lifted524 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted523 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2443}) + } + 30 => { - Option::Some(lifted523) - } - _ => panic() - } - - let lifted526 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result525 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result525) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted522, - max: lifted524, - unit: lifted526, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted527) - } - 7 => { - let lifted534 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted529 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted528 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2444 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted528) - } - _ => panic() - } - - let lifted531 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted530 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2444, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { - Option::Some(lifted530) - } - _ => panic() - } - - let lifted533 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result532 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result532) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted529, - max: lifted531, - unit: lifted533, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted534) - } - 8 => { - let lifted541 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted536 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted535 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { - Option::Some(lifted535) - } - _ => panic() - } - - let lifted538 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted537 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } - Option::Some(lifted537) - } - _ => panic() - } - - let lifted540 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result539 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result539) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted536, - max: lifted538, - unit: lifted540, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted541) - } - 9 => { - let lifted548 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted543 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted542 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2446.push(lifted2445) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 76)) - Option::Some(lifted542) - } - _ => panic() - } - - let lifted545 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted544 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2448 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 88), mbt_ffi_load32((iter_base) + 92)) - Option::Some(lifted544) - } - _ => panic() - } - - let lifted547 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result546 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result546) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted543, - max: lifted545, - unit: lifted547, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted548) - } - 10 => { - let lifted555 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted550 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted549 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2450 : Array[String] = []; + for index2451 = 0; index2451 < (mbt_ffi_load32((iter_base) + 100)); index2451 = index2451 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 96)) + (index2451 * 8) - Option::Some(lifted549) - } - _ => panic() - } - - let lifted552 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted551 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2449 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted551) - } - _ => panic() - } - - let lifted554 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result553 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result553) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted550, - max: lifted552, - unit: lifted554, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted555) - } - 11 => { - let lifted562 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted557 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted556 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2450.push(result2449) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 96)) - Option::Some(lifted556) - } - _ => panic() - } - - let lifted559 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted558 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2465 : Array[Array[SpanData]] = []; + for index2466 = 0; index2466 < (mbt_ffi_load32((iter_base) + 108)); index2466 = index2466 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 104)) + (index2466 * 8) - Option::Some(lifted558) - } - _ => panic() - } - - let lifted561 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result560 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result560) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted557, - max: lifted559, - unit: lifted561, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted562) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array577 : Array[@types.NamedFieldType] = [] - for index578 = 0 - index578 < mbt_ffi_load32(iter_base + 12) - index578 = index578 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index578 * 68 - - let result563 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted565 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result564 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result564) - } - _ => panic() - } + let array2463 : Array[SpanData] = []; + for index2464 = 0; index2464 < (mbt_ffi_load32((iter_base) + 4)); index2464 = index2464 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 0)) + (index2464 * 80) - let array567 : Array[String] = [] - for index568 = 0 - index568 < mbt_ffi_load32(iter_base + 28) - index568 = index568 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index568 * 8 + let lifted2462 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let result566 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2452 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array567.push(result566) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let lifted2454 : String? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { - let array570 : Array[String] = [] - for index571 = 0 - index571 < mbt_ffi_load32(iter_base + 36) - index571 = index571 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index571 * 8 + let result2453 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) - let result569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2453) + } + _ => panic() + } - array570.push(result569) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted573 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result572) - } - _ => panic() - } + let lifted2455 : UInt64? = match mbt_ffi_load8_u((iter_base) + 48) { + 0 => Option::None + 1 => { - let lifted576 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted575 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + Option::Some((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - @types.Role::Other(result574) - } - _ => panic() - } + let array2459 : Array[@context.Attribute] = []; + for index2460 = 0; index2460 < (mbt_ffi_load32((iter_base) + 68)); index2460 = index2460 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2460 * 20) - Option::Some(lifted575) - } - _ => panic() - } + let result2456 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array577.push(@types.NamedFieldType::{ - name: result563, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted565, - aliases: array567, - examples: array570, - deprecated: lifted573, - role: lifted576, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array577) - } - 15 => { - let array594 : Array[@types.VariantCaseType] = [] - for index595 = 0 - index595 < mbt_ffi_load32(iter_base + 12) - index595 = index595 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index595 * 72 - - let result579 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted580 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let lifted2458 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - let lifted582 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result581 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result581) - } - _ => panic() - } + let result2457 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - let array584 : Array[String] = [] - for index585 = 0 - index585 < mbt_ffi_load32(iter_base + 32) - index585 = index585 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index585 * 8 + @context.AttributeValue::String(result2457) + } + _ => panic() + } - let result583 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2459.push(@context.Attribute::{key : result2456, value : lifted2458}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) - array584.push(result583) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + SpanData::LocalSpan(LocalSpanData::{span_id : result2452, start : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent : lifted2454, linked_context : lifted2455, attributes : array2459, inherited : (mbt_ffi_load8_u((iter_base) + 72) != 0)}) + } + 1 => { - let array587 : Array[String] = [] - for index588 = 0 - index588 < mbt_ffi_load32(iter_base + 40) - index588 = index588 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index588 * 8 + let result2461 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result586 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + SpanData::ExternalSpan(ExternalSpanData::{span_id : result2461}) + } + _ => panic() + } - array587.push(result586) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted590 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result589) - } - _ => panic() - } + array2463.push(lifted2462) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 0)) - let lifted593 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted592 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result591 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + array2465.push(array2463) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 104)) - @types.Role::Other(result591) - } - _ => panic() - } + AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{idempotency_key : result2212, method_name : result2213, function_input : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2410, defs : array2415, root : mbt_ffi_load32((iter_base) + 72)}, value : @types.SchemaValueTree::{value_nodes : array2446, root : mbt_ffi_load32((iter_base) + 84)}}, trace_id : result2448, trace_states : array2450, invocation_context : array2465}) + } + 2 => { - Option::Some(lifted592) - } - _ => panic() - } + AgentInvocation::SaveSnapshot + } + 3 => { - array594.push(@types.VariantCaseType::{ - name: result579, - payload: lifted580, - metadata: @types.MetadataEnvelope::{ - doc: lifted582, - aliases: array584, - examples: array587, - deprecated: lifted590, - role: lifted593, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array594) - } - 16 => { - let array597 : Array[String] = [] - for index598 = 0 - index598 < mbt_ffi_load32(iter_base + 12) - index598 = index598 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index598 * 8 - - let result596 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array597.push(result596) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array597) - } - 17 => { - let array600 : Array[String] = [] - for index601 = 0 - index601 < mbt_ffi_load32(iter_base + 12) - index601 = index601 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index601 * 8 - - let result599 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array600.push(result599) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array600) - } - 18 => { - let array602 : Array[Int] = [] - for index603 = 0 - index603 < mbt_ffi_load32(iter_base + 12) - index603 = index603 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index603 * 4 - - array602.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array602) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted604 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted605 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted604, - err: lifted605, - }) - } - 24 => { - let lifted609 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array607 : Array[String] = [] - for index608 = 0 - index608 < mbt_ffi_load32(iter_base + 16) - index608 = index608 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index608 * 8 - - let result606 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array607.push(result606) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array607) - } - _ => panic() - } - - let lifted610 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted611 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted613 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result612 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result612) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted609, - min_length: lifted610, - max_length: lifted611, - regex: lifted613, - }) - } - 25 => { - let lifted617 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array615 : Array[String] = [] - for index616 = 0 - index616 < mbt_ffi_load32(iter_base + 16) - index616 = index616 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index616 * 8 - - let result614 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array615.push(result614) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array615) - } - _ => panic() - } - - let lifted618 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted619 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted617, - min_bytes: lifted618, - max_bytes: lifted619, - }) - } - 26 => { - let lifted623 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array621 : Array[String] = [] - for index622 = 0 - index622 < mbt_ffi_load32(iter_base + 20) - index622 = index622 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index622 * 8 - - let result620 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array621.push(result620) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array621) - } - _ => panic() - } - - let lifted627 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array625 : Array[String] = [] - for index626 = 0 - index626 < mbt_ffi_load32(iter_base + 32) - index626 = index626 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index626 * 8 - - let result624 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array625.push(result624) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array625) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted623, - allowed_extensions: lifted627, - }) - } - 27 => { - let lifted631 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array629 : Array[String] = [] - for index630 = 0 - index630 < mbt_ffi_load32(iter_base + 16) - index630 = index630 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index630 * 8 - - let result628 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array629.push(result628) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array629) - } - _ => panic() - } - - let lifted635 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array633 : Array[String] = [] - for index634 = 0 - index634 < mbt_ffi_load32(iter_base + 28) - index634 = index634 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index634 * 8 - - let result632 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array633.push(result632) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array633) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted631, - allowed_hosts: lifted635, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result636 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array638 : Array[String] = [] - for index639 = 0 - index639 < mbt_ffi_load32(iter_base + 20) - index639 = index639 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index639 * 8 - - let result637 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array638.push(result637) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted641 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result640 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result640, - }) - } - _ => panic() - } - - let lifted643 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result642 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result642, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result636, - allowed_suffixes: array638, - min: lifted641, - max: lifted643, - }) - } - 31 => { - let array667 : Array[@types.UnionBranch] = [] - for index668 = 0 - index668 < mbt_ffi_load32(iter_base + 12) - index668 = index668 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index668 * 92 - - let result644 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted653 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result645 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result645) - } - 1 => { - let result646 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result646) - } - 2 => { - let result647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result647) - } - 3 => { - let result648 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result648) - } - 4 => { - let result649 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted651 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result650 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result2467 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(result650) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result649, - literal: lifted651, - }) - } - 5 => { - let result652 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result652) - } - _ => panic() - } + let result2468 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - let lifted655 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result654) - } - _ => panic() - } + AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{snapshot : SnapshotData::{data : result2467, mime_type : result2468}}) + } + 4 => { - let array657 : Array[String] = [] - for index658 = 0 - index658 < mbt_ffi_load32(iter_base + 52) - index658 = index658 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index658 * 8 + let result2469 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let result656 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{idempotency_key : result2469}) + } + 5 => { - array657.push(result656) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + AgentInvocation::ManualUpdate(ManualUpdateParameters::{target_revision : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}) + } + _ => panic() + } - let array660 : Array[String] = [] - for index661 = 0 - index661 < mbt_ffi_load32(iter_base + 60) - index661 = index661 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index661 * 8 + PublicOplogEntry::PendingAgentInvocation(PendingAgentInvocationParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, invocation : lifted2470}) + } + 15 => { - let result659 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2473 = match (mbt_ffi_load8_u((iter_base) + 40)) { + 0 => { - array660.push(result659) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted663 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result662 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result662) - } - _ => panic() - } + UpdateDescription::AutoUpdate + } + 1 => { - let lifted666 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted665 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result664 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let result2471 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - @types.Role::Other(result664) - } - _ => panic() - } + let result2472 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted665) - } - _ => panic() - } + UpdateDescription::SnapshotBased(@host.Snapshot::{payload : result2471, mime_type : result2472}) + } + _ => panic() + } - array667.push(@types.UnionBranch::{ - tag: result644, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted653, - metadata: @types.MetadataEnvelope::{ - doc: lifted655, - aliases: array657, - examples: array660, - deprecated: lifted663, - role: lifted666, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array667, - }) - } - 32 => { - let lifted670 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result669 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result669) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted670, - }) - } - 33 => { - let lifted672 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result671 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result671) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted672, - }) - } - 34 => { - let lifted673 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted673) - } - 35 => { - let lifted674 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted674) - } - _ => panic() - } + PublicOplogEntry::PendingUpdate(PendingUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), description : lifted2473}) + } + 16 => { - let lifted677 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result676 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result676) - } - _ => panic() - } + let array2480 : Array[PluginInstallationDescription] = []; + for index2481 = 0; index2481 < (mbt_ffi_load32((iter_base) + 52)); index2481 = index2481 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2481 * 48) - let array679 : Array[String] = [] - for index680 = 0 - index680 < mbt_ffi_load32(iter_base + 104) - index680 = index680 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index680 * 8 + let result2474 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let result678 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2475 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) - array679.push(result678) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let array2478 : Array[(String, String)] = []; + for index2479 = 0; index2479 < (mbt_ffi_load32((iter_base) + 40)); index2479 = index2479 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2479 * 16) - let array682 : Array[String] = [] - for index683 = 0 - index683 < mbt_ffi_load32(iter_base + 112) - index683 = index683 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index683 * 8 + let result2476 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result681 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2477 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array682.push(result681) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted685 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result684 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result684) - } - _ => panic() - } + array2478.push((result2476, result2477)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - let lifted688 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted687 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result686 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result686) - } - _ => panic() - } + array2480.push(PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 0)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 16), plugin_name : result2474, plugin_version : result2475, parameters : array2478}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - Option::Some(lifted687) - } - _ => panic() - } + PublicOplogEntry::SuccessfulUpdate(SuccessfulUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), new_component_size : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), new_active_plugins : array2480}) + } + 17 => { - array689.push(@types.SchemaTypeNode::{ - body: lifted675, - metadata: @types.MetadataEnvelope::{ - doc: lifted677, - aliases: array679, - examples: array682, - deprecated: lifted685, - role: lifted688, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array694 : Array[@types.SchemaTypeDef] = [] - for index695 = 0 - index695 < mbt_ffi_load32(iter_base + 56) - index695 = index695 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 52) + index695 * 24 - - let result691 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted693 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result692 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result692) - } - _ => panic() - } + let lifted2483 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - array694.push(@types.SchemaTypeDef::{ - id: result691, - name: lifted693, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 52)) - - let array725 : Array[@types.SchemaValueNode] = [] - for index726 = 0 - index726 < mbt_ffi_load32(iter_base + 68) - index726 = index726 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + index726 * 32 - - let lifted724 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result696 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result696) - } - 13 => { - let array697 : Array[Int] = [] - for index698 = 0 - index698 < mbt_ffi_load32(iter_base + 12) - index698 = index698 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index698 * 4 - - array697.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array697) - } - 14 => { - let lifted699 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted699, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array700 : Array[Bool] = [] - for index701 = 0 - index701 < mbt_ffi_load32(iter_base + 12) - index701 = index701 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index701 * 1 - - array700.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array700) - } - 17 => { - let array702 : Array[Int] = [] - for index703 = 0 - index703 < mbt_ffi_load32(iter_base + 12) - index703 = index703 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index703 * 4 - - array702.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array702) - } - 18 => { - let array704 : Array[Int] = [] - for index705 = 0 - index705 < mbt_ffi_load32(iter_base + 12) - index705 = index705 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index705 * 4 - - array704.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array704) - } - 19 => { - let array706 : Array[Int] = [] - for index707 = 0 - index707 < mbt_ffi_load32(iter_base + 12) - index707 = index707 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index707 * 4 - - array706.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array706) - } - 20 => { - let array708 : Array[@types.MapEntry] = [] - for index709 = 0 - index709 < mbt_ffi_load32(iter_base + 12) - index709 = index709 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index709 * 8 - - array708.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array708) - } - 21 => { - let lifted710 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted710) - } - 22 => { - let lifted713 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted711 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted711) - } - 1 => { - let lifted712 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted712) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted713) - } - 23 => { - let result714 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted716 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result715 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result715) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result714, - language: lifted716, - }) - } - 24 => { - let result717 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted719 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result718 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result718) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result717, - mime_type: lifted719, - }) - } - 25 => { - let result720 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result720) - } - 26 => { - let result721 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result721) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result722 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result722, - }) - } - 30 => { - let result723 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result723, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let result2482 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - array725.push(lifted724) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array689, - defs: array694, - root: mbt_ffi_load32(iter_base + 60), - }, - value: @types.SchemaValueTree::{ - value_nodes: array725, - root: mbt_ffi_load32(iter_base + 72), - }, - }) - } - _ => panic() - } + Option::Some(result2482) + } + _ => panic() + } - PublicOplogEntry::End(EndParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - response: lifted727, - forced_commit: mbt_ffi_load8_u(iter_base + 76) != 0, - }) - } - 3 => { - let lifted962 : @types.TypedSchemaValue? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let array924 : Array[@types.SchemaTypeNode] = [] - for index925 = 0 - index925 < mbt_ffi_load32(iter_base + 48) - index925 = index925 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + - index925 * 144 - - let lifted910 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted734 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted729 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted728 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::FailedUpdate(FailedUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, target_revision : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), details : lifted2483}) } + 18 => { - Option::Some(lifted728) - } - _ => panic() - } - - let lifted731 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted730 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::GrowMemory(GrowMemoryParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, delta : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) } + 19 => { - Option::Some(lifted730) - } - _ => panic() - } - - let lifted733 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result732 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result732) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted729, - max: lifted731, - unit: lifted733, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted734) - } - 3 => { - let lifted741 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted736 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted735 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, delta : mbt_ffi_load64((iter_base) + 32)}) } + 20 => { - Option::Some(lifted735) - } - _ => panic() - } - - let lifted738 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted737 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2484 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(lifted737) - } - _ => panic() - } - - let lifted740 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result739 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result739) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted736, - max: lifted738, - unit: lifted740, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted741) - } - 4 => { - let lifted748 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted743 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted742 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2485 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - Option::Some(lifted742) - } - _ => panic() - } - - let lifted745 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted744 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::CreateResource(CreateResourceParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, id : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), name : result2484, owner : result2485}) } + 21 => { - Option::Some(lifted744) - } - _ => panic() - } - - let lifted747 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result746 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result746) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted743, - max: lifted745, - unit: lifted747, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted748) - } - 5 => { - let lifted755 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted750 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted749 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2486 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(lifted749) - } - _ => panic() - } - - let lifted752 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted751 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2487 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - Option::Some(lifted751) - } - _ => panic() - } - - let lifted754 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result753 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result753) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted750, - max: lifted752, - unit: lifted754, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted755) - } - 6 => { - let lifted762 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted757 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted756 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::DropResource(DropResourceParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, id : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), name : result2486, owner : result2487}) } + 22 => { - Option::Some(lifted756) - } - _ => panic() - } - - let lifted759 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted758 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2488 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 36), mbt_ffi_load32((iter_base) + 40)) - Option::Some(lifted758) - } - _ => panic() - } - - let lifted761 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result760 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result760) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted757, - max: lifted759, - unit: lifted761, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted762) - } - 7 => { - let lifted769 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted764 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted763 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2489 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - Option::Some(lifted763) - } - _ => panic() - } - - let lifted766 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted765 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::Log(LogParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, level : LogLevel::from(mbt_ffi_load8_u((iter_base) + 32)), context : result2488, message : result2489}) } + 23 => { - Option::Some(lifted765) - } - _ => panic() - } - - let lifted768 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result767 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result767) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted764, - max: lifted766, - unit: lifted768, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted769) - } - 8 => { - let lifted776 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted771 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted770 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::Restart(Timestamp::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}}) } + 24 => { - Option::Some(lifted770) - } - _ => panic() - } - - let lifted773 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted772 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2490 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) - Option::Some(lifted772) - } - _ => panic() - } - - let lifted775 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result774 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result774) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted771, - max: lifted773, - unit: lifted775, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted776) - } - 9 => { - let lifted783 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted778 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted777 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2491 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) - Option::Some(lifted777) - } - _ => panic() - } - - let lifted780 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted779 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2494 : Array[(String, String)] = []; + for index2495 = 0; index2495 < (mbt_ffi_load32((iter_base) + 72)); index2495 = index2495 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index2495 * 16) - Option::Some(lifted779) - } - _ => panic() - } - - let lifted782 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result781 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result781) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted778, - max: lifted780, - unit: lifted782, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted783) - } - 10 => { - let lifted790 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted785 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted784 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + let result2492 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2493 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2494.push((result2492, result2493)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) + + PublicOplogEntry::ActivatePlugin(ActivatePluginParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 48), plugin_name : result2490, plugin_version : result2491, parameters : array2494}}) } + 25 => { + + let result2496 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) + + let result2497 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) + + let array2500 : Array[(String, String)] = []; + for index2501 = 0; index2501 < (mbt_ffi_load32((iter_base) + 72)); index2501 = index2501 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index2501 * 16) + + let result2498 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let result2499 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted784) - } - _ => panic() - } - - let lifted787 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted786 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + array2500.push((result2498, result2499)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) + + PublicOplogEntry::DeactivatePlugin(DeactivatePluginParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 48), plugin_name : result2496, plugin_version : result2497, parameters : array2500}}) } + 26 => { - Option::Some(lifted786) - } - _ => panic() - } - - let lifted789 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result788 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result788) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted785, - max: lifted787, - unit: lifted789, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted790) - } - 11 => { - let lifted797 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted792 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted791 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::Revert(RevertParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, dropped_region : OplogRegion::{start : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), end : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}) } + 27 => { - Option::Some(lifted791) - } - _ => panic() - } - - let lifted794 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted793 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + let result2502 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) + + PublicOplogEntry::CancelPendingInvocation(CancelPendingInvocationParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, idempotency_key : result2502}) } + 28 => { - Option::Some(lifted793) - } - _ => panic() - } - - let lifted796 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result795 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result795) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted792, - max: lifted794, - unit: lifted796, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted797) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array812 : Array[@types.NamedFieldType] = [] - for index813 = 0 - index813 < mbt_ffi_load32(iter_base + 12) - index813 = index813 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index813 * 68 - - let result798 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted800 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result799 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result799) - } - _ => panic() - } + let result2503 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - let array802 : Array[String] = [] - for index803 = 0 - index803 < mbt_ffi_load32(iter_base + 28) - index803 = index803 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index803 * 8 + let lifted2505 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - let result801 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2504 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - array802.push(result801) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + Option::Some(result2504) + } + _ => panic() + } - let array805 : Array[String] = [] - for index806 = 0 - index806 < mbt_ffi_load32(iter_base + 36) - index806 = index806 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index806 * 8 + let lifted2507 : String? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { - let result804 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2506 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 56), mbt_ffi_load32((iter_base) + 60)) - array805.push(result804) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted808 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result807 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result807) - } - _ => panic() - } + Option::Some(result2506) + } + _ => panic() + } - let lifted811 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted810 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result809 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let array2511 : Array[@context.Attribute] = []; + for index2512 = 0; index2512 < (mbt_ffi_load32((iter_base) + 68)); index2512 = index2512 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2512 * 20) + + let result2508 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + let lifted2510 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { + + let result2509 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - @types.Role::Other(result809) + @context.AttributeValue::String(result2509) + } + _ => panic() + } + + array2511.push(@context.Attribute::{key : result2508, value : lifted2510}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) + + PublicOplogEntry::StartSpan(StartSpanParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, span_id : result2503, parent : lifted2505, linked_context_id : lifted2507, attributes : array2511}) } - _ => panic() - } + 29 => { - Option::Some(lifted810) - } - _ => panic() - } + let result2513 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - array812.push(@types.NamedFieldType::{ - name: result798, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted800, - aliases: array802, - examples: array805, - deprecated: lifted808, - role: lifted811, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array812) - } - 15 => { - let array829 : Array[@types.VariantCaseType] = [] - for index830 = 0 - index830 < mbt_ffi_load32(iter_base + 12) - index830 = index830 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index830 * 72 - - let result814 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted815 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + PublicOplogEntry::FinishSpan(FinishSpanParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, span_id : result2513}) + } + 30 => { - let lifted817 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result816 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result816) - } - _ => panic() - } + let result2514 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - let array819 : Array[String] = [] - for index820 = 0 - index820 < mbt_ffi_load32(iter_base + 32) - index820 = index820 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index820 * 8 + let result2515 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let result818 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2517 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - array819.push(result818) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let result2516 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) - let array822 : Array[String] = [] - for index823 = 0 - index823 < mbt_ffi_load32(iter_base + 40) - index823 = index823 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index823 * 8 + @context.AttributeValue::String(result2516) + } + _ => panic() + } - let result821 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + PublicOplogEntry::SetSpanAttribute(SetSpanAttributeParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, span_id : result2514, key : result2515, value : lifted2517}) + } + 31 => { - array822.push(result821) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted825 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result824 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result824) - } - _ => panic() - } + let result2518 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - let lifted828 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted827 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result826 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + PublicOplogEntry::BeginRemoteTransaction(BeginRemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, transaction_id : result2518}) + } + 32 => { - @types.Role::Other(result826) + PublicOplogEntry::PreCommitRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) } - _ => panic() - } + 33 => { - Option::Some(lifted827) - } - _ => panic() - } + PublicOplogEntry::PreRollbackRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + 34 => { - array829.push(@types.VariantCaseType::{ - name: result814, - payload: lifted815, - metadata: @types.MetadataEnvelope::{ - doc: lifted817, - aliases: array819, - examples: array822, - deprecated: lifted825, - role: lifted828, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array829) - } - 16 => { - let array832 : Array[String] = [] - for index833 = 0 - index833 < mbt_ffi_load32(iter_base + 12) - index833 = index833 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index833 * 8 - - let result831 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array832.push(result831) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array832) - } - 17 => { - let array835 : Array[String] = [] - for index836 = 0 - index836 < mbt_ffi_load32(iter_base + 12) - index836 = index836 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index836 * 8 - - let result834 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array835.push(result834) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array835) - } - 18 => { - let array837 : Array[Int] = [] - for index838 = 0 - index838 < mbt_ffi_load32(iter_base + 12) - index838 = index838 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index838 * 4 - - array837.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array837) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted839 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted840 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted839, - err: lifted840, - }) - } - 24 => { - let lifted844 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array842 : Array[String] = [] - for index843 = 0 - index843 < mbt_ffi_load32(iter_base + 16) - index843 = index843 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index843 * 8 - - let result841 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array842.push(result841) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array842) - } - _ => panic() - } - - let lifted845 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted846 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted848 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result847 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result847) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted844, - min_length: lifted845, - max_length: lifted846, - regex: lifted848, - }) - } - 25 => { - let lifted852 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array850 : Array[String] = [] - for index851 = 0 - index851 < mbt_ffi_load32(iter_base + 16) - index851 = index851 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index851 * 8 - - let result849 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array850.push(result849) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array850) - } - _ => panic() - } - - let lifted853 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted854 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted852, - min_bytes: lifted853, - max_bytes: lifted854, - }) - } - 26 => { - let lifted858 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array856 : Array[String] = [] - for index857 = 0 - index857 < mbt_ffi_load32(iter_base + 20) - index857 = index857 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index857 * 8 - - let result855 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array856.push(result855) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array856) - } - _ => panic() - } - - let lifted862 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array860 : Array[String] = [] - for index861 = 0 - index861 < mbt_ffi_load32(iter_base + 32) - index861 = index861 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index861 * 8 - - let result859 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array860.push(result859) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array860) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted858, - allowed_extensions: lifted862, - }) - } - 27 => { - let lifted866 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array864 : Array[String] = [] - for index865 = 0 - index865 < mbt_ffi_load32(iter_base + 16) - index865 = index865 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index865 * 8 - - let result863 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array864.push(result863) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array864) - } - _ => panic() - } - - let lifted870 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array868 : Array[String] = [] - for index869 = 0 - index869 < mbt_ffi_load32(iter_base + 28) - index869 = index869 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index869 * 8 - - let result867 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array868.push(result867) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array868) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted866, - allowed_hosts: lifted870, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result871 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array873 : Array[String] = [] - for index874 = 0 - index874 < mbt_ffi_load32(iter_base + 20) - index874 = index874 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index874 * 8 - - let result872 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array873.push(result872) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted876 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result875 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result875, - }) - } - _ => panic() - } - - let lifted878 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result877 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result877, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result871, - allowed_suffixes: array873, - min: lifted876, - max: lifted878, - }) - } - 31 => { - let array902 : Array[@types.UnionBranch] = [] - for index903 = 0 - index903 < mbt_ffi_load32(iter_base + 12) - index903 = index903 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index903 * 92 - - let result879 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted888 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result880 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result880) - } - 1 => { - let result881 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result881) - } - 2 => { - let result882 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result882) - } - 3 => { - let result883 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result883) - } - 4 => { - let result884 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted886 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result885 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + PublicOplogEntry::CommittedRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + 35 => { - Option::Some(result885) + PublicOplogEntry::RolledBackRemoteTransaction(RemoteTransactionParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, begin_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result884, - literal: lifted886, - }) - } - 5 => { - let result887 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result887) - } - _ => panic() - } + 36 => { - let lifted890 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result889 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result889) - } - _ => panic() - } + let result2519 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - let array892 : Array[String] = [] - for index893 = 0 - index893 < mbt_ffi_load32(iter_base + 52) - index893 = index893 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index893 * 8 + let result2520 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let result891 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + PublicOplogEntry::Snapshot(SnapshotParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, data : SnapshotData::{data : result2519, mime_type : result2520}}) + } + 37 => { - array892.push(result891) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let result2521 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 52), mbt_ffi_load32((iter_base) + 56)) - let array895 : Array[String] = [] - for index896 = 0 - index896 < mbt_ffi_load32(iter_base + 60) - index896 = index896 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index896 * 8 + let result2522 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) - let result894 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2525 : Array[(String, String)] = []; + for index2526 = 0; index2526 < (mbt_ffi_load32((iter_base) + 72)); index2526 = index2526 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 68)) + (index2526 * 16) - array895.push(result894) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted898 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result897 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result897) - } - _ => panic() - } + let result2523 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted901 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted900 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result899 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let result2524 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + array2525.push((result2523, result2524)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 68)) - @types.Role::Other(result899) + let result2527 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 96), mbt_ffi_load32((iter_base) + 100)) + + PublicOplogEntry::OplogProcessorCheckpoint(OplogProcessorCheckpointParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, plugin : PluginInstallationDescription::{environment_plugin_grant_id : EnvironmentPluginGrantId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}, plugin_priority : mbt_ffi_load32((iter_base) + 48), plugin_name : result2521, plugin_version : result2522, parameters : array2525}, target_agent_id : @types.AgentId::{component_id : @types.ComponentId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 80)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 88)).reinterpret_as_uint64()}}, agent_id : result2527}, confirmed_up_to : (mbt_ffi_load64((iter_base) + 104)).reinterpret_as_uint64(), sending_up_to : (mbt_ffi_load64((iter_base) + 112)).reinterpret_as_uint64(), last_batch_start : (mbt_ffi_load64((iter_base) + 120)).reinterpret_as_uint64()}) } - _ => panic() - } + 38 => { - Option::Some(lifted900) - } - _ => panic() - } + let result2528 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - array902.push(@types.UnionBranch::{ - tag: result879, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted888, - metadata: @types.MetadataEnvelope::{ - doc: lifted890, - aliases: array892, - examples: array895, - deprecated: lifted898, - role: lifted901, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array902, - }) - } - 32 => { - let lifted905 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result904 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result904) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted905, - }) - } - 33 => { - let lifted907 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result906 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result906) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted907, - }) - } - 34 => { - let lifted908 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted908) - } - 35 => { - let lifted909 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted909) - } - _ => panic() - } + let array2560 : Array[@retry.PredicateNode] = []; + for index2561 = 0; index2561 < (mbt_ffi_load32((iter_base) + 48)); index2561 = index2561 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index2561 * 32) - let lifted912 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result911 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result911) - } - _ => panic() - } + let lifted2559 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let array914 : Array[String] = [] - for index915 = 0 - index915 < mbt_ffi_load32(iter_base + 104) - index915 = index915 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index915 * 8 + let result2529 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result913 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2531 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - array914.push(result913) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let result2530 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - let array917 : Array[String] = [] - for index918 = 0 - index918 < mbt_ffi_load32(iter_base + 112) - index918 = index918 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index918 * 8 + @retry.PredicateValue::Text(result2530) + } + 1 => { - let result916 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - array917.push(result916) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted920 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result919 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result919) - } - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - let lifted923 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted922 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result921 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result921) - } - _ => panic() - } + @retry.PredicateNode::PropEq(@retry.PropertyComparison::{property_name : result2529, value : lifted2531}) + } + 1 => { - Option::Some(lifted922) - } - _ => panic() - } + let result2532 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array924.push(@types.SchemaTypeNode::{ - body: lifted910, - metadata: @types.MetadataEnvelope::{ - doc: lifted912, - aliases: array914, - examples: array917, - deprecated: lifted920, - role: lifted923, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array929 : Array[@types.SchemaTypeDef] = [] - for index930 = 0 - index930 < mbt_ffi_load32(iter_base + 56) - index930 = index930 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 52) + index930 * 24 - - let result926 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted928 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result927 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result927) - } - _ => panic() - } + let lifted2534 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - array929.push(@types.SchemaTypeDef::{ - id: result926, - name: lifted928, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 52)) - - let array960 : Array[@types.SchemaValueNode] = [] - for index961 = 0 - index961 < mbt_ffi_load32(iter_base + 68) - index961 = index961 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + index961 * 32 - - let lifted959 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result931 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result931) - } - 13 => { - let array932 : Array[Int] = [] - for index933 = 0 - index933 < mbt_ffi_load32(iter_base + 12) - index933 = index933 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index933 * 4 - - array932.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array932) - } - 14 => { - let lifted934 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted934, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array935 : Array[Bool] = [] - for index936 = 0 - index936 < mbt_ffi_load32(iter_base + 12) - index936 = index936 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index936 * 1 - - array935.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array935) - } - 17 => { - let array937 : Array[Int] = [] - for index938 = 0 - index938 < mbt_ffi_load32(iter_base + 12) - index938 = index938 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index938 * 4 - - array937.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array937) - } - 18 => { - let array939 : Array[Int] = [] - for index940 = 0 - index940 < mbt_ffi_load32(iter_base + 12) - index940 = index940 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index940 * 4 - - array939.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array939) - } - 19 => { - let array941 : Array[Int] = [] - for index942 = 0 - index942 < mbt_ffi_load32(iter_base + 12) - index942 = index942 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index942 * 4 - - array941.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array941) - } - 20 => { - let array943 : Array[@types.MapEntry] = [] - for index944 = 0 - index944 < mbt_ffi_load32(iter_base + 12) - index944 = index944 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index944 * 8 - - array943.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array943) - } - 21 => { - let lifted945 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted945) - } - 22 => { - let lifted948 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted946 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted946) - } - 1 => { - let lifted947 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted947) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted948) - } - 23 => { - let result949 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted951 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result950 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result950) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result949, - language: lifted951, - }) - } - 24 => { - let result952 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted954 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result953 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result953) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result952, - mime_type: lifted954, - }) - } - 25 => { - let result955 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result955) - } - 26 => { - let result956 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result956) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result957 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result957, - }) - } - 30 => { - let result958 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result958, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let result2533 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - array960.push(lifted959) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - Option::Some(@types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array924, - defs: array929, - root: mbt_ffi_load32(iter_base + 60), - }, - value: @types.SchemaValueTree::{ - value_nodes: array960, - root: mbt_ffi_load32(iter_base + 72), - }, - }) - } - _ => panic() - } + @retry.PredicateValue::Text(result2533) + } + 1 => { - PublicOplogEntry::Cancelled(CancelledParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - partial: lifted962, - }) - } - 4 => { - let lifted1475 = match mbt_ffi_load8_u(iter_base + 32) { - 0 => { - let result963 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array1160 : Array[@types.SchemaTypeNode] = [] - for index1161 = 0 - index1161 < mbt_ffi_load32(iter_base + 52) - index1161 = index1161 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1161 * 144 - - let lifted1146 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted970 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted965 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted964 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - Option::Some(lifted964) - } - _ => panic() - } - - let lifted967 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted966 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - Option::Some(lifted966) - } - _ => panic() - } - - let lifted969 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result968 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result968) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted965, - max: lifted967, - unit: lifted969, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted970) - } - 3 => { - let lifted977 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted972 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted971 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{property_name : result2532, value : lifted2534}) + } + 2 => { - Option::Some(lifted971) - } - _ => panic() - } - - let lifted974 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted973 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2535 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted973) - } - _ => panic() - } - - let lifted976 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result975 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result975) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted972, - max: lifted974, - unit: lifted976, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted977) - } - 4 => { - let lifted984 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted979 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted978 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2537 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - Option::Some(lifted978) - } - _ => panic() - } - - let lifted981 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted980 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2536 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted980) - } - _ => panic() - } - - let lifted983 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result982 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result982) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted979, - max: lifted981, - unit: lifted983, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted984) - } - 5 => { - let lifted991 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted986 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted985 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Text(result2536) + } + 1 => { - Option::Some(lifted985) - } - _ => panic() - } - - let lifted988 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted987 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - Option::Some(lifted987) - } - _ => panic() - } - - let lifted990 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result989 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result989) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted986, - max: lifted988, - unit: lifted990, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted991) - } - 6 => { - let lifted998 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted993 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted992 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - Option::Some(lifted992) - } - _ => panic() - } - - let lifted995 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted994 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateNode::PropGt(@retry.PropertyComparison::{property_name : result2535, value : lifted2537}) + } + 3 => { - Option::Some(lifted994) - } - _ => panic() - } - - let lifted997 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result996 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result996) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted993, - max: lifted995, - unit: lifted997, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted998) - } - 7 => { - let lifted1005 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1000 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted999 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2538 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted999) - } - _ => panic() - } - - let lifted1002 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1001 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2540 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - Option::Some(lifted1001) - } - _ => panic() - } - - let lifted1004 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1003 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1003) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1000, - max: lifted1002, - unit: lifted1004, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1005) - } - 8 => { - let lifted1012 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1007 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1006 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2539 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted1006) - } - _ => panic() - } - - let lifted1009 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1008 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Text(result2539) + } + 1 => { - Option::Some(lifted1008) - } - _ => panic() - } - - let lifted1011 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1010 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1010) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1007, - max: lifted1009, - unit: lifted1011, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1012) - } - 9 => { - let lifted1019 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1014 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1013 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - Option::Some(lifted1013) - } - _ => panic() - } - - let lifted1016 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1015 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - Option::Some(lifted1015) - } - _ => panic() - } - - let lifted1018 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1017 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1017) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1014, - max: lifted1016, - unit: lifted1018, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1019) - } - 10 => { - let lifted1026 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1021 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1020 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateNode::PropGte(@retry.PropertyComparison::{property_name : result2538, value : lifted2540}) + } + 4 => { - Option::Some(lifted1020) - } - _ => panic() - } - - let lifted1023 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1022 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2541 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1022) - } - _ => panic() - } - - let lifted1025 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1024 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1024) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1021, - max: lifted1023, - unit: lifted1025, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1026) - } - 11 => { - let lifted1033 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1028 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1027 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2543 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - Option::Some(lifted1027) - } - _ => panic() - } - - let lifted1030 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1029 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2542 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted1029) - } - _ => panic() - } - - let lifted1032 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1031 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1031) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1028, - max: lifted1030, - unit: lifted1032, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1033) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1048 : Array[@types.NamedFieldType] = [] - for index1049 = 0 - index1049 < mbt_ffi_load32(iter_base + 12) - index1049 = index1049 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1049 * 68 - - let result1034 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1036 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1035 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1035) - } - _ => panic() - } + @retry.PredicateValue::Text(result2542) + } + 1 => { - let array1038 : Array[String] = [] - for index1039 = 0 - index1039 < mbt_ffi_load32(iter_base + 28) - index1039 = index1039 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1039 * 8 + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - let result1037 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - array1038.push(result1037) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @retry.PredicateNode::PropLt(@retry.PropertyComparison::{property_name : result2541, value : lifted2543}) + } + 5 => { - let array1041 : Array[String] = [] - for index1042 = 0 - index1042 < mbt_ffi_load32(iter_base + 36) - index1042 = index1042 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1042 * 8 + let result2544 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result1040 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2546 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - array1041.push(result1040) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1044 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1043 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1043) - } - _ => panic() - } + let result2545 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - let lifted1047 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1046 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1045 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + @retry.PredicateValue::Text(result2545) + } + 1 => { - @types.Role::Other(result1045) - } - _ => panic() - } + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - Option::Some(lifted1046) - } - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - array1048.push(@types.NamedFieldType::{ - name: result1034, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1036, - aliases: array1038, - examples: array1041, - deprecated: lifted1044, - role: lifted1047, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1048) - } - 15 => { - let array1065 : Array[@types.VariantCaseType] = [] - for index1066 = 0 - index1066 < mbt_ffi_load32(iter_base + 12) - index1066 = index1066 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1066 * 72 - - let result1050 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1051 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @retry.PredicateNode::PropLte(@retry.PropertyComparison::{property_name : result2544, value : lifted2546}) + } + 6 => { - let lifted1053 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1052 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1052) - } - _ => panic() - } + let result2547 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let array1055 : Array[String] = [] - for index1056 = 0 - index1056 < mbt_ffi_load32(iter_base + 32) - index1056 = index1056 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1056 * 8 + @retry.PredicateNode::PropExists(result2547) + } + 7 => { - let result1054 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2548 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1055.push(result1054) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let array2551 : Array[@retry.PredicateValue] = []; + for index2552 = 0; index2552 < (mbt_ffi_load32((iter_base) + 20)); index2552 = index2552 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2552 * 16) - let array1058 : Array[String] = [] - for index1059 = 0 - index1059 < mbt_ffi_load32(iter_base + 40) - index1059 = index1059 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1059 * 8 + let lifted2550 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let result1057 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2549 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1058.push(result1057) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1061 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1060 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1060) - } - _ => panic() - } + @retry.PredicateValue::Text(result2549) + } + 1 => { - let lifted1064 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1063 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1062 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 8)) + } + 2 => { - @types.Role::Other(result1062) - } - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + _ => panic() + } - Option::Some(lifted1063) - } - _ => panic() - } + array2551.push(lifted2550) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - array1065.push(@types.VariantCaseType::{ - name: result1050, - payload: lifted1051, - metadata: @types.MetadataEnvelope::{ - doc: lifted1053, - aliases: array1055, - examples: array1058, - deprecated: lifted1061, - role: lifted1064, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1065) - } - 16 => { - let array1068 : Array[String] = [] - for index1069 = 0 - index1069 < mbt_ffi_load32(iter_base + 12) - index1069 = index1069 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1069 * 8 - - let result1067 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1068.push(result1067) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1068) - } - 17 => { - let array1071 : Array[String] = [] - for index1072 = 0 - index1072 < mbt_ffi_load32(iter_base + 12) - index1072 = index1072 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1072 * 8 - - let result1070 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1071.push(result1070) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1071) - } - 18 => { - let array1073 : Array[Int] = [] - for index1074 = 0 - index1074 < mbt_ffi_load32(iter_base + 12) - index1074 = index1074 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1074 * 4 - - array1073.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1073) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1075 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1076 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1075, - err: lifted1076, - }) - } - 24 => { - let lifted1080 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1078 : Array[String] = [] - for index1079 = 0 - index1079 < mbt_ffi_load32(iter_base + 16) - index1079 = index1079 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1079 * 8 - - let result1077 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1078.push(result1077) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1078) - } - _ => panic() - } - - let lifted1081 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1082 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1084 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1083 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1083) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1080, - min_length: lifted1081, - max_length: lifted1082, - regex: lifted1084, - }) - } - 25 => { - let lifted1088 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1086 : Array[String] = [] - for index1087 = 0 - index1087 < mbt_ffi_load32(iter_base + 16) - index1087 = index1087 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1087 * 8 - - let result1085 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1086.push(result1085) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1086) - } - _ => panic() - } - - let lifted1089 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1090 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1088, - min_bytes: lifted1089, - max_bytes: lifted1090, - }) - } - 26 => { - let lifted1094 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1092 : Array[String] = [] - for index1093 = 0 - index1093 < mbt_ffi_load32(iter_base + 20) - index1093 = index1093 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1093 * 8 - - let result1091 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1092.push(result1091) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1092) - } - _ => panic() - } - - let lifted1098 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1096 : Array[String] = [] - for index1097 = 0 - index1097 < mbt_ffi_load32(iter_base + 32) - index1097 = index1097 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1097 * 8 - - let result1095 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1096.push(result1095) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1096) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1094, - allowed_extensions: lifted1098, - }) - } - 27 => { - let lifted1102 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1100 : Array[String] = [] - for index1101 = 0 - index1101 < mbt_ffi_load32(iter_base + 16) - index1101 = index1101 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1101 * 8 - - let result1099 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1100.push(result1099) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1100) - } - _ => panic() - } - - let lifted1106 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1104 : Array[String] = [] - for index1105 = 0 - index1105 < mbt_ffi_load32(iter_base + 28) - index1105 = index1105 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1105 * 8 - - let result1103 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1104.push(result1103) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1104) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1102, - allowed_hosts: lifted1106, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1107 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1109 : Array[String] = [] - for index1110 = 0 - index1110 < mbt_ffi_load32(iter_base + 20) - index1110 = index1110 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1110 * 8 - - let result1108 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1109.push(result1108) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1112 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1111 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1111, - }) - } - _ => panic() - } - - let lifted1114 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1113 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1113, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1107, - allowed_suffixes: array1109, - min: lifted1112, - max: lifted1114, - }) - } - 31 => { - let array1138 : Array[@types.UnionBranch] = [] - for index1139 = 0 - index1139 < mbt_ffi_load32(iter_base + 12) - index1139 = index1139 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1139 * 92 - - let result1115 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1124 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1116 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1116) - } - 1 => { - let result1117 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1117) - } - 2 => { - let result1118 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1118) - } - 3 => { - let result1119 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1119) - } - 4 => { - let result1120 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1122 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1121 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{property_name : result2548, values : array2551}) + } + 8 => { - Option::Some(result1121) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1120, - literal: lifted1122, - }) - } - 5 => { - let result1123 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1123) - } - _ => panic() - } + let result2553 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let lifted1126 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1125 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1125) - } - _ => panic() - } + let result2554 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let array1128 : Array[String] = [] - for index1129 = 0 - index1129 < mbt_ffi_load32(iter_base + 52) - index1129 = index1129 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1129 * 8 + @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{property_name : result2553, pattern : result2554}) + } + 9 => { - let result1127 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2555 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1128.push(result1127) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let result2556 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let array1131 : Array[String] = [] - for index1132 = 0 - index1132 < mbt_ffi_load32(iter_base + 60) - index1132 = index1132 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1132 * 8 + @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{property_name : result2555, pattern : result2556}) + } + 10 => { - let result1130 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2557 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1131.push(result1130) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1134 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1133 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1133) - } - _ => panic() - } + let result2558 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted1137 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1136 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1135 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @retry.PredicateNode::PropContains(@retry.PropertyPattern::{property_name : result2557, pattern : result2558}) + } + 11 => { - @types.Role::Other(result1135) - } - _ => panic() - } + @retry.PredicateNode::PredAnd((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { - Option::Some(lifted1136) - } - _ => panic() - } + @retry.PredicateNode::PredOr((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { - array1138.push(@types.UnionBranch::{ - tag: result1115, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1124, - metadata: @types.MetadataEnvelope::{ - doc: lifted1126, - aliases: array1128, - examples: array1131, - deprecated: lifted1134, - role: lifted1137, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1138, - }) - } - 32 => { - let lifted1141 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1140 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1140) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1141, - }) - } - 33 => { - let lifted1143 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1142 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1142) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1143, - }) - } - 34 => { - let lifted1144 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1144) - } - 35 => { - let lifted1145 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1145) - } - _ => panic() - } + @retry.PredicateNode::PredNot(mbt_ffi_load32((iter_base) + 8)) + } + 14 => { - let lifted1148 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1147 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1147) - } - _ => panic() - } + @retry.PredicateNode::PredTrue + } + 15 => { - let array1150 : Array[String] = [] - for index1151 = 0 - index1151 < mbt_ffi_load32(iter_base + 104) - index1151 = index1151 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1151 * 8 + @retry.PredicateNode::PredFalse + } + _ => panic() + } - let result1149 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2560.push(lifted2559) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) - array1150.push(result1149) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let array2596 : Array[@retry.PolicyNode] = []; + for index2597 = 0; index2597 < (mbt_ffi_load32((iter_base) + 56)); index2597 = index2597 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 52)) + (index2597 * 32) - let array1153 : Array[String] = [] - for index1154 = 0 - index1154 < mbt_ffi_load32(iter_base + 112) - index1154 = index1154 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1154 * 8 + let lifted2595 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - let result1152 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @retry.PolicyNode::Periodic((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 1 => { - array1153.push(result1152) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1156 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1155 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1155) - } - _ => panic() - } + @retry.PolicyNode::Exponential(@retry.ExponentialConfig::{base_delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), factor : mbt_ffi_loadf64((iter_base) + 16)}) + } + 2 => { - let lifted1159 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1158 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1157 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1157) - } - _ => panic() - } + @retry.PolicyNode::Fibonacci(@retry.FibonacciConfig::{first : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), second : (mbt_ffi_load64((iter_base) + 16)).reinterpret_as_uint64()}) + } + 3 => { - Option::Some(lifted1158) - } - _ => panic() - } + @retry.PolicyNode::Immediate + } + 4 => { - array1160.push(@types.SchemaTypeNode::{ - body: lifted1146, - metadata: @types.MetadataEnvelope::{ - doc: lifted1148, - aliases: array1150, - examples: array1153, - deprecated: lifted1156, - role: lifted1159, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array1165 : Array[@types.SchemaTypeDef] = [] - for index1166 = 0 - index1166 < mbt_ffi_load32(iter_base + 60) - index1166 = index1166 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1166 * 24 - - let result1162 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1164 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1163 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1163) - } - _ => panic() - } + @retry.PolicyNode::Never + } + 5 => { - array1165.push(@types.SchemaTypeDef::{ - id: result1162, - name: lifted1164, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array1196 : Array[@types.SchemaValueNode] = [] - for index1197 = 0 - index1197 < mbt_ffi_load32(iter_base + 72) - index1197 = index1197 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + - index1197 * 32 - - let lifted1195 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1167 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1167) - } - 13 => { - let array1168 : Array[Int] = [] - for index1169 = 0 - index1169 < mbt_ffi_load32(iter_base + 12) - index1169 = index1169 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1169 * 4 - - array1168.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1168) - } - 14 => { - let lifted1170 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1170, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1171 : Array[Bool] = [] - for index1172 = 0 - index1172 < mbt_ffi_load32(iter_base + 12) - index1172 = index1172 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1172 * 1 - - array1171.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1171) - } - 17 => { - let array1173 : Array[Int] = [] - for index1174 = 0 - index1174 < mbt_ffi_load32(iter_base + 12) - index1174 = index1174 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1174 * 4 - - array1173.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1173) - } - 18 => { - let array1175 : Array[Int] = [] - for index1176 = 0 - index1176 < mbt_ffi_load32(iter_base + 12) - index1176 = index1176 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1176 * 4 - - array1175.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1175) - } - 19 => { - let array1177 : Array[Int] = [] - for index1178 = 0 - index1178 < mbt_ffi_load32(iter_base + 12) - index1178 = index1178 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1178 * 4 - - array1177.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1177) - } - 20 => { - let array1179 : Array[@types.MapEntry] = [] - for index1180 = 0 - index1180 < mbt_ffi_load32(iter_base + 12) - index1180 = index1180 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1180 * 8 - - array1179.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1179) - } - 21 => { - let lifted1181 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1181) - } - 22 => { - let lifted1184 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1182 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1182) - } - 1 => { - let lifted1183 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1183) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1184) - } - 23 => { - let result1185 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1187 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1186 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1186) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1185, - language: lifted1187, - }) - } - 24 => { - let result1188 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1190 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1189 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1189) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1188, - mime_type: lifted1190, - }) - } - 25 => { - let result1191 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1191) - } - 26 => { - let result1192 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1192) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1193 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1193, - }) - } - 30 => { - let result1194 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1194, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @retry.PolicyNode::CountBox(@retry.CountBoxConfig::{max_retries : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), inner : mbt_ffi_load32((iter_base) + 12)}) + } + 6 => { - array1196.push(lifted1195) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - let result1198 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 80), - mbt_ffi_load32(iter_base + 84), - ) - - let array1200 : Array[String] = [] - for index1201 = 0 - index1201 < mbt_ffi_load32(iter_base + 92) - index1201 = index1201 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index1201 * 8 - - let result1199 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1200.push(result1199) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - let array1215 : Array[Array[SpanData]] = [] - for index1216 = 0 - index1216 < mbt_ffi_load32(iter_base + 100) - index1216 = index1216 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index1216 * 8 - - let array1213 : Array[SpanData] = [] - for index1214 = 0 - index1214 < mbt_ffi_load32(iter_base + 4) - index1214 = index1214 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index1214 * 80 - - let lifted1212 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result1202 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1204 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result1203 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result1203) - } - _ => panic() - } + @retry.PolicyNode::TimeBox(@retry.TimeBoxConfig::{limit : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 7 => { - let lifted1205 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PolicyNode::ClampDelay(@retry.ClampConfig::{min_delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), max_delay : (mbt_ffi_load64((iter_base) + 16)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 24)}) + } + 8 => { - let array1209 : Array[@context.Attribute] = [] - for index1210 = 0 - index1210 < mbt_ffi_load32(iter_base + 68) - index1210 = index1210 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index1210 * 20 - - let result1206 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1208 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result1207 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result1207) - } - _ => panic() - } - - array1209.push(@context.Attribute::{ - key: result1206, - value: lifted1208, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result1202, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted1204, - linked_context: lifted1205, - attributes: array1209, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result1211 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result1211, - }) - } - _ => panic() - } - - array1213.push(lifted1212) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array1215.push(array1213) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - AgentInvocation::AgentInitialization(AgentInitializationParameters::{ - idempotency_key: result963, - constructor_parameters: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1160, - defs: array1165, - root: mbt_ffi_load32(iter_base + 64), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1196, - root: mbt_ffi_load32(iter_base + 76), - }, - }, - trace_id: result1198, - trace_states: array1200, - invocation_context: array1215, - }) - } - 1 => { - let result1217 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let result1218 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - let array1415 : Array[@types.SchemaTypeNode] = [] - for index1416 = 0 - index1416 < mbt_ffi_load32(iter_base + 60) - index1416 = index1416 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1416 * 144 - - let lifted1401 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1225 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1220 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1219 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PolicyNode::AddDelay(@retry.AddDelayConfig::{delay : (mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64(), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 9 => { - Option::Some(lifted1219) - } - _ => panic() - } - - let lifted1222 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1221 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PolicyNode::Jitter(@retry.JitterConfig::{factor : mbt_ffi_loadf64((iter_base) + 8), inner : mbt_ffi_load32((iter_base) + 16)}) + } + 10 => { - Option::Some(lifted1221) - } - _ => panic() - } - - let lifted1224 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1223 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1223) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1220, - max: lifted1222, - unit: lifted1224, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1225) - } - 3 => { - let lifted1232 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1227 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1226 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2593 : Array[@retry.PredicateNode] = []; + for index2594 = 0; index2594 < (mbt_ffi_load32((iter_base) + 12)); index2594 = index2594 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2594 * 32) - Option::Some(lifted1226) - } - _ => panic() - } - - let lifted1229 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1228 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2592 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted1228) - } - _ => panic() - } - - let lifted1231 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1230 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1230) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1227, - max: lifted1229, - unit: lifted1231, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1232) - } - 4 => { - let lifted1239 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1234 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1233 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2562 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1233) - } - _ => panic() - } - - let lifted1236 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1235 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2564 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - Option::Some(lifted1235) - } - _ => panic() - } - - let lifted1238 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1237 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1237) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1234, - max: lifted1236, - unit: lifted1238, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1239) - } - 5 => { - let lifted1246 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1241 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1240 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2563 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted1240) - } - _ => panic() - } - - let lifted1243 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1242 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Text(result2563) + } + 1 => { - Option::Some(lifted1242) - } - _ => panic() - } - - let lifted1245 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1244 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1244) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1241, - max: lifted1243, - unit: lifted1245, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1246) - } - 6 => { - let lifted1253 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1248 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1247 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - Option::Some(lifted1247) - } - _ => panic() - } - - let lifted1250 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1249 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - Option::Some(lifted1249) - } - _ => panic() - } - - let lifted1252 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1251 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1251) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1248, - max: lifted1250, - unit: lifted1252, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1253) - } - 7 => { - let lifted1260 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1255 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1254 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateNode::PropEq(@retry.PropertyComparison::{property_name : result2562, value : lifted2564}) + } + 1 => { - Option::Some(lifted1254) - } - _ => panic() - } - - let lifted1257 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1256 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2565 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1256) - } - _ => panic() - } - - let lifted1259 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1258 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1258) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1255, - max: lifted1257, - unit: lifted1259, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1260) - } - 8 => { - let lifted1267 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1262 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1261 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2567 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - Option::Some(lifted1261) - } - _ => panic() - } - - let lifted1264 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1263 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2566 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - Option::Some(lifted1263) - } - _ => panic() - } - - let lifted1266 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1265 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1265) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1262, - max: lifted1264, - unit: lifted1266, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1267) - } - 9 => { - let lifted1274 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1269 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1268 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Text(result2566) + } + 1 => { - Option::Some(lifted1268) - } - _ => panic() - } - - let lifted1271 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1270 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - Option::Some(lifted1270) - } - _ => panic() - } - - let lifted1273 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1272 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1272) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1269, - max: lifted1271, - unit: lifted1273, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1274) - } - 10 => { - let lifted1281 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1276 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1275 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - Option::Some(lifted1275) - } - _ => panic() - } - - let lifted1278 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1277 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{property_name : result2565, value : lifted2567}) + } + 2 => { - Option::Some(lifted1277) - } - _ => panic() - } - - let lifted1280 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1279 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1279) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1276, - max: lifted1278, - unit: lifted1280, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1281) - } - 11 => { - let lifted1288 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1283 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1282 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2568 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1282) - } - _ => panic() - } - - let lifted1285 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1284 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2570 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - Option::Some(lifted1284) - } - _ => panic() - } - - let lifted1287 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1286 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1286) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1283, - max: lifted1285, - unit: lifted1287, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1288) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1303 : Array[@types.NamedFieldType] = [] - for index1304 = 0 - index1304 < mbt_ffi_load32(iter_base + 12) - index1304 = index1304 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1304 * 68 - - let result1289 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1291 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1290 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1290) - } - _ => panic() - } + let result2569 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - let array1293 : Array[String] = [] - for index1294 = 0 - index1294 < mbt_ffi_load32(iter_base + 28) - index1294 = index1294 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1294 * 8 + @retry.PredicateValue::Text(result2569) + } + 1 => { - let result1292 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - array1293.push(result1292) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - let array1296 : Array[String] = [] - for index1297 = 0 - index1297 < mbt_ffi_load32(iter_base + 36) - index1297 = index1297 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1297 * 8 + @retry.PredicateNode::PropGt(@retry.PropertyComparison::{property_name : result2568, value : lifted2570}) + } + 3 => { - let result1295 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2571 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1296.push(result1295) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1299 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1298 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1298) - } - _ => panic() - } + let lifted2573 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - let lifted1302 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1301 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1300 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let result2572 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - @types.Role::Other(result1300) - } - _ => panic() - } + @retry.PredicateValue::Text(result2572) + } + 1 => { - Option::Some(lifted1301) - } - _ => panic() - } + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - array1303.push(@types.NamedFieldType::{ - name: result1289, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1291, - aliases: array1293, - examples: array1296, - deprecated: lifted1299, - role: lifted1302, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1303) - } - 15 => { - let array1320 : Array[@types.VariantCaseType] = [] - for index1321 = 0 - index1321 < mbt_ffi_load32(iter_base + 12) - index1321 = index1321 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1321 * 72 - - let result1305 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1306 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - let lifted1308 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1307 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1307) - } - _ => panic() - } + @retry.PredicateNode::PropGte(@retry.PropertyComparison::{property_name : result2571, value : lifted2573}) + } + 4 => { - let array1310 : Array[String] = [] - for index1311 = 0 - index1311 < mbt_ffi_load32(iter_base + 32) - index1311 = index1311 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1311 * 8 + let result2574 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result1309 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2576 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - array1310.push(result1309) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let result2575 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) - let array1313 : Array[String] = [] - for index1314 = 0 - index1314 < mbt_ffi_load32(iter_base + 40) - index1314 = index1314 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1314 * 8 + @retry.PredicateValue::Text(result2575) + } + 1 => { - let result1312 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { - array1313.push(result1312) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1316 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1315 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1315) - } - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } - let lifted1319 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1318 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1317 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @retry.PredicateNode::PropLt(@retry.PropertyComparison::{property_name : result2574, value : lifted2576}) + } + 5 => { - @types.Role::Other(result1317) - } - _ => panic() - } + let result2577 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1318) - } - _ => panic() - } + let lifted2579 = match (mbt_ffi_load8_u((iter_base) + 16)) { + 0 => { - array1320.push(@types.VariantCaseType::{ - name: result1305, - payload: lifted1306, - metadata: @types.MetadataEnvelope::{ - doc: lifted1308, - aliases: array1310, - examples: array1313, - deprecated: lifted1316, - role: lifted1319, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1320) - } - 16 => { - let array1323 : Array[String] = [] - for index1324 = 0 - index1324 < mbt_ffi_load32(iter_base + 12) - index1324 = index1324 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1324 * 8 - - let result1322 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1323.push(result1322) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1323) - } - 17 => { - let array1326 : Array[String] = [] - for index1327 = 0 - index1327 < mbt_ffi_load32(iter_base + 12) - index1327 = index1327 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1327 * 8 - - let result1325 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1326.push(result1325) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1326) - } - 18 => { - let array1328 : Array[Int] = [] - for index1329 = 0 - index1329 < mbt_ffi_load32(iter_base + 12) - index1329 = index1329 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1329 * 4 - - array1328.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1328) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1330 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1331 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1330, - err: lifted1331, - }) - } - 24 => { - let lifted1335 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1333 : Array[String] = [] - for index1334 = 0 - index1334 < mbt_ffi_load32(iter_base + 16) - index1334 = index1334 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1334 * 8 - - let result1332 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1333.push(result1332) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1333) - } - _ => panic() - } - - let lifted1336 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1337 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1339 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1338 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1338) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1335, - min_length: lifted1336, - max_length: lifted1337, - regex: lifted1339, - }) - } - 25 => { - let lifted1343 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1341 : Array[String] = [] - for index1342 = 0 - index1342 < mbt_ffi_load32(iter_base + 16) - index1342 = index1342 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1342 * 8 - - let result1340 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1341.push(result1340) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1341) - } - _ => panic() - } - - let lifted1344 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1345 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1343, - min_bytes: lifted1344, - max_bytes: lifted1345, - }) - } - 26 => { - let lifted1349 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1347 : Array[String] = [] - for index1348 = 0 - index1348 < mbt_ffi_load32(iter_base + 20) - index1348 = index1348 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1348 * 8 - - let result1346 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1347.push(result1346) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1347) - } - _ => panic() - } - - let lifted1353 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1351 : Array[String] = [] - for index1352 = 0 - index1352 < mbt_ffi_load32(iter_base + 32) - index1352 = index1352 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1352 * 8 - - let result1350 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1351.push(result1350) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1351) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1349, - allowed_extensions: lifted1353, - }) - } - 27 => { - let lifted1357 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1355 : Array[String] = [] - for index1356 = 0 - index1356 < mbt_ffi_load32(iter_base + 16) - index1356 = index1356 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1356 * 8 - - let result1354 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1355.push(result1354) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1355) - } - _ => panic() - } - - let lifted1361 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1359 : Array[String] = [] - for index1360 = 0 - index1360 < mbt_ffi_load32(iter_base + 28) - index1360 = index1360 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1360 * 8 - - let result1358 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1359.push(result1358) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1359) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1357, - allowed_hosts: lifted1361, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1362 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1364 : Array[String] = [] - for index1365 = 0 - index1365 < mbt_ffi_load32(iter_base + 20) - index1365 = index1365 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1365 * 8 - - let result1363 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1364.push(result1363) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1367 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1366 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1366, - }) - } - _ => panic() - } - - let lifted1369 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1368 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1368, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1362, - allowed_suffixes: array1364, - min: lifted1367, - max: lifted1369, - }) - } - 31 => { - let array1393 : Array[@types.UnionBranch] = [] - for index1394 = 0 - index1394 < mbt_ffi_load32(iter_base + 12) - index1394 = index1394 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1394 * 92 - - let result1370 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1379 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1371 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1371) - } - 1 => { - let result1372 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1372) - } - 2 => { - let result1373 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1373) - } - 3 => { - let result1374 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1374) - } - 4 => { - let result1375 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1377 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1376 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result2578 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 24), mbt_ffi_load32((iter_base) + 28)) + + @retry.PredicateValue::Text(result2578) + } + 1 => { + + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 24)) + } + 2 => { + + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 24) != 0)) + } + _ => panic() + } + + @retry.PredicateNode::PropLte(@retry.PropertyComparison::{property_name : result2577, value : lifted2579}) + } + 6 => { + + let result2580 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - Option::Some(result1376) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1375, - literal: lifted1377, - }) - } - 5 => { - let result1378 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1378) - } - _ => panic() - } + @retry.PredicateNode::PropExists(result2580) + } + 7 => { - let lifted1381 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1380 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1380) - } - _ => panic() - } + let result2581 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let array1383 : Array[String] = [] - for index1384 = 0 - index1384 < mbt_ffi_load32(iter_base + 52) - index1384 = index1384 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1384 * 8 + let array2584 : Array[@retry.PredicateValue] = []; + for index2585 = 0; index2585 < (mbt_ffi_load32((iter_base) + 20)); index2585 = index2585 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2585 * 16) - let result1382 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2583 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - array1383.push(result1382) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let result2582 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let array1386 : Array[String] = [] - for index1387 = 0 - index1387 < mbt_ffi_load32(iter_base + 60) - index1387 = index1387 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1387 * 8 + @retry.PredicateValue::Text(result2582) + } + 1 => { - let result1385 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @retry.PredicateValue::Integer(mbt_ffi_load64((iter_base) + 8)) + } + 2 => { - array1386.push(result1385) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1389 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1388 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1388) - } - _ => panic() - } + @retry.PredicateValue::Boolean((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + _ => panic() + } - let lifted1392 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1391 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1390 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + array2584.push(lifted2583) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - @types.Role::Other(result1390) - } - _ => panic() - } + @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{property_name : result2581, values : array2584}) + } + 8 => { - Option::Some(lifted1391) - } - _ => panic() - } + let result2586 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array1393.push(@types.UnionBranch::{ - tag: result1370, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1379, - metadata: @types.MetadataEnvelope::{ - doc: lifted1381, - aliases: array1383, - examples: array1386, - deprecated: lifted1389, - role: lifted1392, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1393, - }) - } - 32 => { - let lifted1396 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1395 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1395) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1396, - }) - } - 33 => { - let lifted1398 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1397 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1397) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1398, - }) - } - 34 => { - let lifted1399 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1399) - } - 35 => { - let lifted1400 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1400) - } - _ => panic() - } + let result2587 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let lifted1403 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1402 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1402) - } - _ => panic() - } + @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{property_name : result2586, pattern : result2587}) + } + 9 => { - let array1405 : Array[String] = [] - for index1406 = 0 - index1406 < mbt_ffi_load32(iter_base + 104) - index1406 = index1406 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1406 * 8 + let result2588 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result1404 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2589 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array1405.push(result1404) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{property_name : result2588, pattern : result2589}) + } + 10 => { - let array1408 : Array[String] = [] - for index1409 = 0 - index1409 < mbt_ffi_load32(iter_base + 112) - index1409 = index1409 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1409 * 8 + let result2590 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let result1407 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2591 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array1408.push(result1407) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1411 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1410 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1410) - } - _ => panic() - } + @retry.PredicateNode::PropContains(@retry.PropertyPattern::{property_name : result2590, pattern : result2591}) + } + 11 => { - let lifted1414 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1413 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1412 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1412) - } - _ => panic() - } + @retry.PredicateNode::PredAnd((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { - Option::Some(lifted1413) - } - _ => panic() - } + @retry.PredicateNode::PredOr((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { - array1415.push(@types.SchemaTypeNode::{ - body: lifted1401, - metadata: @types.MetadataEnvelope::{ - doc: lifted1403, - aliases: array1405, - examples: array1408, - deprecated: lifted1411, - role: lifted1414, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array1420 : Array[@types.SchemaTypeDef] = [] - for index1421 = 0 - index1421 < mbt_ffi_load32(iter_base + 68) - index1421 = index1421 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index1421 * 24 - - let result1417 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1419 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1418 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1418) - } - _ => panic() - } + @retry.PredicateNode::PredNot(mbt_ffi_load32((iter_base) + 8)) + } + 14 => { - array1420.push(@types.SchemaTypeDef::{ - id: result1417, - name: lifted1419, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - let array1451 : Array[@types.SchemaValueNode] = [] - for index1452 = 0 - index1452 < mbt_ffi_load32(iter_base + 80) - index1452 = index1452 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 76) + - index1452 * 32 - - let lifted1450 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1422 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1422) - } - 13 => { - let array1423 : Array[Int] = [] - for index1424 = 0 - index1424 < mbt_ffi_load32(iter_base + 12) - index1424 = index1424 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1424 * 4 - - array1423.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1423) - } - 14 => { - let lifted1425 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1425, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1426 : Array[Bool] = [] - for index1427 = 0 - index1427 < mbt_ffi_load32(iter_base + 12) - index1427 = index1427 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1427 * 1 - - array1426.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1426) - } - 17 => { - let array1428 : Array[Int] = [] - for index1429 = 0 - index1429 < mbt_ffi_load32(iter_base + 12) - index1429 = index1429 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1429 * 4 - - array1428.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1428) - } - 18 => { - let array1430 : Array[Int] = [] - for index1431 = 0 - index1431 < mbt_ffi_load32(iter_base + 12) - index1431 = index1431 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1431 * 4 - - array1430.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1430) - } - 19 => { - let array1432 : Array[Int] = [] - for index1433 = 0 - index1433 < mbt_ffi_load32(iter_base + 12) - index1433 = index1433 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1433 * 4 - - array1432.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1432) - } - 20 => { - let array1434 : Array[@types.MapEntry] = [] - for index1435 = 0 - index1435 < mbt_ffi_load32(iter_base + 12) - index1435 = index1435 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1435 * 8 - - array1434.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1434) - } - 21 => { - let lifted1436 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1436) - } - 22 => { - let lifted1439 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1437 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1437) - } - 1 => { - let lifted1438 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1438) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1439) - } - 23 => { - let result1440 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1442 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1441 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1441) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1440, - language: lifted1442, - }) - } - 24 => { - let result1443 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1445 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1444 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1444) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1443, - mime_type: lifted1445, - }) - } - 25 => { - let result1446 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1446) - } - 26 => { - let result1447 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1447) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1448 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1448, - }) - } - 30 => { - let result1449 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1449, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @retry.PredicateNode::PredTrue + } + 15 => { - array1451.push(lifted1450) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 76)) - - let result1453 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 88), - mbt_ffi_load32(iter_base + 92), - ) - - let array1455 : Array[String] = [] - for index1456 = 0 - index1456 < mbt_ffi_load32(iter_base + 100) - index1456 = index1456 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index1456 * 8 - - let result1454 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1455.push(result1454) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - let array1470 : Array[Array[SpanData]] = [] - for index1471 = 0 - index1471 < mbt_ffi_load32(iter_base + 108) - index1471 = index1471 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 104) + - index1471 * 8 - - let array1468 : Array[SpanData] = [] - for index1469 = 0 - index1469 < mbt_ffi_load32(iter_base + 4) - index1469 = index1469 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index1469 * 80 - - let lifted1467 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result1457 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1459 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result1458 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result1458) - } - _ => panic() - } + @retry.PredicateNode::PredFalse + } + _ => panic() + } - let lifted1460 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2593.push(lifted2592) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - let array1464 : Array[@context.Attribute] = [] - for index1465 = 0 - index1465 < mbt_ffi_load32(iter_base + 68) - index1465 = index1465 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index1465 * 20 - - let result1461 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1463 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result1462 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result1462) - } - _ => panic() - } - - array1464.push(@context.Attribute::{ - key: result1461, - value: lifted1463, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result1457, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted1459, - linked_context: lifted1460, - attributes: array1464, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result1466 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result1466, - }) - } - _ => panic() - } - - array1468.push(lifted1467) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array1470.push(array1468) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 104)) - - AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{ - idempotency_key: result1217, - method_name: result1218, - function_input: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1415, - defs: array1420, - root: mbt_ffi_load32(iter_base + 72), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1451, - root: mbt_ffi_load32(iter_base + 84), - }, - }, - trace_id: result1453, - trace_states: array1455, - invocation_context: array1470, - }) - } - 2 => AgentInvocation::SaveSnapshot - 3 => { - let result1472 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let result1473 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{ - snapshot: SnapshotData::{ - data: result1472, - mime_type: result1473, - }, - }) - } - 4 => { - let result1474 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{ - idempotency_key: result1474, - }) - } - 5 => - AgentInvocation::ManualUpdate(ManualUpdateParameters::{ - target_revision: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }) - _ => panic() - } + @retry.PolicyNode::FilteredOn(@retry.FilteredConfig::{predicate : @retry.RetryPredicate::{nodes : array2593}, inner : mbt_ffi_load32((iter_base) + 16)}) + } + 11 => { - PublicOplogEntry::AgentInvocationStarted(AgentInvocationStartedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - invocation: lifted1475, - }) - } - 5 => { - let lifted1950 = match mbt_ffi_load8_u(iter_base + 32) { - 0 => { - let array1672 : Array[@types.SchemaTypeNode] = [] - for index1673 = 0 - index1673 < mbt_ffi_load32(iter_base + 40) - index1673 = index1673 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1673 * 144 - - let lifted1658 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1482 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1477 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1476 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PolicyNode::AndThen((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 12 => { - Option::Some(lifted1476) - } - _ => panic() - } - - let lifted1479 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1478 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PolicyNode::PolicyUnion((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + 13 => { - Option::Some(lifted1478) - } - _ => panic() - } - - let lifted1481 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1480 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1480) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1477, - max: lifted1479, - unit: lifted1481, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1482) - } - 3 => { - let lifted1489 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1484 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1483 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @retry.PolicyNode::PolicyIntersect((mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12))) + } + _ => panic() + } - Option::Some(lifted1483) - } - _ => panic() - } - - let lifted1486 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1485 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2596.push(lifted2595) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 52)) - Option::Some(lifted1485) - } - _ => panic() - } - - let lifted1488 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1487 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1487) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1484, - max: lifted1486, - unit: lifted1488, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1489) - } - 4 => { - let lifted1496 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1491 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1490 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::SetRetryPolicy(SetRetryPolicyParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, policy : @retry.NamedRetryPolicy::{name : result2528, priority : (mbt_ffi_load32((iter_base) + 40)).reinterpret_as_uint(), predicate : @retry.RetryPredicate::{nodes : array2560}, policy : @retry.RetryPolicy::{nodes : array2596}}}) } + 39 => { - Option::Some(lifted1490) - } - _ => panic() - } - - let lifted1493 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1492 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2598 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 32), mbt_ffi_load32((iter_base) + 36)) - Option::Some(lifted1492) - } - _ => panic() - } - - let lifted1495 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1494 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1494) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1491, - max: lifted1493, - unit: lifted1495, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1496) - } - 5 => { - let lifted1503 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1498 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1497 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::RemoveRetryPolicy(RemoveRetryPolicyParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, name : result2598}) } + 40 => { - Option::Some(lifted1497) - } - _ => panic() - } - - let lifted1500 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1499 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2599 = match (mbt_ffi_load8_u((iter_base) + 32)) { + 0 => { - Option::Some(lifted1499) - } - _ => panic() - } - - let lifted1502 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1501 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1501) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1498, - max: lifted1500, - unit: lifted1502, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1503) - } - 6 => { - let lifted1510 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1505 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1504 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + QueuedCardEvent::Install(QueuedCardEventInstall::{card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 48)).reinterpret_as_uint64()}}}) + } + 1 => { - Option::Some(lifted1504) - } - _ => panic() - } - - let lifted1507 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1506 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + QueuedCardEvent::Revoke(QueuedCardEventRevoke::{card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 48)).reinterpret_as_uint64()}}}) + } + _ => panic() + } - Option::Some(lifted1506) - } - _ => panic() - } - - let lifted1509 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1508 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1508) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1505, - max: lifted1507, - unit: lifted1509, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1510) - } - 7 => { - let lifted1517 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1512 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1511 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::CardEventQueued(CardEventQueuedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, event : lifted2599}) } + 41 => { - Option::Some(lifted1511) - } - _ => panic() - } - - let lifted1514 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1513 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2600 : UInt64? = match mbt_ffi_load8_u((iter_base) + 32) { + 0 => Option::None + 1 => { - Option::Some(lifted1513) - } - _ => panic() - } - - let lifted1516 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1515 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1515) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1512, - max: lifted1514, - unit: lifted1516, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1517) - } - 8 => { - let lifted1524 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1519 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1518 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()) + } + _ => panic() + } - Option::Some(lifted1518) - } - _ => panic() - } - - let lifted1521 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1520 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::CardInstalled(CardInstalledParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, queued_event_index : lifted2600, card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 48)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()}}}) } + 42 => { - Option::Some(lifted1520) - } - _ => panic() - } - - let lifted1523 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1522 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1522) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1519, - max: lifted1521, - unit: lifted1523, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1524) - } - 9 => { - let lifted1531 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1526 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1525 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::CardInstallFailed(CardInstallFailedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, queued_event_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 48)).reinterpret_as_uint64()}}, reason : CardInstallFailure::from(mbt_ffi_load8_u((iter_base) + 56))}) } + 43 => { - Option::Some(lifted1525) - } - _ => panic() - } - - let lifted1528 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1527 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::CardRevoked(CardRevokedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, queued_event_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 48)).reinterpret_as_uint64()}}}) } + 44 => { - Option::Some(lifted1527) - } - _ => panic() - } - - let lifted1530 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1529 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1529) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1526, - max: lifted1528, - unit: lifted1530, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1531) - } - 10 => { - let lifted1538 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1533 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1532 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() + PublicOplogEntry::CardExpired(CardExpiredParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, card_id : @types.CardId::{uuid : @types.Uuid::{high_bits : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), low_bits : (mbt_ffi_load64((iter_base) + 40)).reinterpret_as_uint64()}}}) } + 45 => { - Option::Some(lifted1532) - } - _ => panic() - } - - let lifted1535 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1534 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2797 : Array[@types.SchemaTypeNode] = []; + for index2798 = 0; index2798 < (mbt_ffi_load32((iter_base) + 48)); index2798 = index2798 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 44)) + (index2798 * 144) - Option::Some(lifted1534) - } - _ => panic() - } - - let lifted1537 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1536 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1536) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1533, - max: lifted1535, - unit: lifted1537, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1538) - } - 11 => { - let lifted1545 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1540 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1539 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2783 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted1539) - } - _ => panic() - } - - let lifted1542 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1541 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::RefType(mbt_ffi_load32((iter_base) + 8)) + } + 1 => { - Option::Some(lifted1541) - } - _ => panic() - } - - let lifted1544 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1543 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1543) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1540, - max: lifted1542, - unit: lifted1544, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1545) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1560 : Array[@types.NamedFieldType] = [] - for index1561 = 0 - index1561 < mbt_ffi_load32(iter_base + 12) - index1561 = index1561 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1561 * 68 - - let result1546 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1548 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1547 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1547) - } - _ => panic() - } + @types.SchemaTypeBody::BoolType + } + 2 => { - let array1550 : Array[String] = [] - for index1551 = 0 - index1551 < mbt_ffi_load32(iter_base + 28) - index1551 = index1551 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1551 * 8 + let lifted2607 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let result1549 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2602 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - array1550.push(result1549) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let lifted2601 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - let array1553 : Array[String] = [] - for index1554 = 0 - index1554 < mbt_ffi_load32(iter_base + 36) - index1554 = index1554 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1554 * 8 + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - let result1552 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - array1553.push(result1552) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1556 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1555 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1555) - } - _ => panic() - } + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - let lifted1559 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1558 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1557 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + Option::Some(lifted2601) + } + _ => panic() + } - @types.Role::Other(result1557) - } - _ => panic() - } + let lifted2604 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - Option::Some(lifted1558) - } - _ => panic() - } + let lifted2603 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - array1560.push(@types.NamedFieldType::{ - name: result1546, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1548, - aliases: array1550, - examples: array1553, - deprecated: lifted1556, - role: lifted1559, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1560) - } - 15 => { - let array1577 : Array[@types.VariantCaseType] = [] - for index1578 = 0 - index1578 < mbt_ffi_load32(iter_base + 12) - index1578 = index1578 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1578 * 72 - - let result1562 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1563 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - let lifted1565 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1564 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1564) - } - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - let array1567 : Array[String] = [] - for index1568 = 0 - index1568 < mbt_ffi_load32(iter_base + 32) - index1568 = index1568 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1568 * 8 + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - let result1566 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(lifted2603) + } + _ => panic() + } - array1567.push(result1566) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let lifted2606 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let array1570 : Array[String] = [] - for index1571 = 0 - index1571 < mbt_ffi_load32(iter_base + 40) - index1571 = index1571 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1571 * 8 + let result2605 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - let result1569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2605) + } + _ => panic() + } - array1570.push(result1569) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1573 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1572) - } - _ => panic() - } + Option::Some(@types.NumericRestrictions::{min : lifted2602, max : lifted2604, unit : lifted2606}) + } + _ => panic() + } - let lifted1576 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1575 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.SchemaTypeBody::S8Type(lifted2607) + } + 3 => { - @types.Role::Other(result1574) - } - _ => panic() - } + let lifted2614 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1575) - } - _ => panic() - } + let lifted2609 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - array1577.push(@types.VariantCaseType::{ - name: result1562, - payload: lifted1563, - metadata: @types.MetadataEnvelope::{ - doc: lifted1565, - aliases: array1567, - examples: array1570, - deprecated: lifted1573, - role: lifted1576, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1577) - } - 16 => { - let array1580 : Array[String] = [] - for index1581 = 0 - index1581 < mbt_ffi_load32(iter_base + 12) - index1581 = index1581 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1581 * 8 - - let result1579 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1580.push(result1579) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1580) - } - 17 => { - let array1583 : Array[String] = [] - for index1584 = 0 - index1584 < mbt_ffi_load32(iter_base + 12) - index1584 = index1584 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1584 * 8 - - let result1582 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1583.push(result1582) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1583) - } - 18 => { - let array1585 : Array[Int] = [] - for index1586 = 0 - index1586 < mbt_ffi_load32(iter_base + 12) - index1586 = index1586 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1586 * 4 - - array1585.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1585) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1587 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1588 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1587, - err: lifted1588, - }) - } - 24 => { - let lifted1592 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1590 : Array[String] = [] - for index1591 = 0 - index1591 < mbt_ffi_load32(iter_base + 16) - index1591 = index1591 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1591 * 8 - - let result1589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1590.push(result1589) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1590) - } - _ => panic() - } - - let lifted1593 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1594 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1596 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1595 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1595) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1592, - min_length: lifted1593, - max_length: lifted1594, - regex: lifted1596, - }) - } - 25 => { - let lifted1600 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1598 : Array[String] = [] - for index1599 = 0 - index1599 < mbt_ffi_load32(iter_base + 16) - index1599 = index1599 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1599 * 8 - - let result1597 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1598.push(result1597) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1598) - } - _ => panic() - } - - let lifted1601 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1602 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1600, - min_bytes: lifted1601, - max_bytes: lifted1602, - }) - } - 26 => { - let lifted1606 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1604 : Array[String] = [] - for index1605 = 0 - index1605 < mbt_ffi_load32(iter_base + 20) - index1605 = index1605 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1605 * 8 - - let result1603 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1604.push(result1603) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1604) - } - _ => panic() - } - - let lifted1610 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1608 : Array[String] = [] - for index1609 = 0 - index1609 < mbt_ffi_load32(iter_base + 32) - index1609 = index1609 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1609 * 8 - - let result1607 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1608.push(result1607) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1608) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1606, - allowed_extensions: lifted1610, - }) - } - 27 => { - let lifted1614 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1612 : Array[String] = [] - for index1613 = 0 - index1613 < mbt_ffi_load32(iter_base + 16) - index1613 = index1613 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1613 * 8 - - let result1611 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1612.push(result1611) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1612) - } - _ => panic() - } - - let lifted1618 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1616 : Array[String] = [] - for index1617 = 0 - index1617 < mbt_ffi_load32(iter_base + 28) - index1617 = index1617 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1617 * 8 - - let result1615 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1616.push(result1615) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1616) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1614, - allowed_hosts: lifted1618, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1619 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1621 : Array[String] = [] - for index1622 = 0 - index1622 < mbt_ffi_load32(iter_base + 20) - index1622 = index1622 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1622 * 8 - - let result1620 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1621.push(result1620) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1624 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1623 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1623, - }) - } - _ => panic() - } - - let lifted1626 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1625 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1625, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1619, - allowed_suffixes: array1621, - min: lifted1624, - max: lifted1626, - }) - } - 31 => { - let array1650 : Array[@types.UnionBranch] = [] - for index1651 = 0 - index1651 < mbt_ffi_load32(iter_base + 12) - index1651 = index1651 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1651 * 92 - - let result1627 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1636 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1628 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1628) - } - 1 => { - let result1629 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1629) - } - 2 => { - let result1630 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1630) - } - 3 => { - let result1631 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1631) - } - 4 => { - let result1632 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1634 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1633 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let lifted2608 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - Option::Some(result1633) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1632, - literal: lifted1634, - }) - } - 5 => { - let result1635 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1635) - } - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - let lifted1638 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1637 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1637) - } - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2608) + } + _ => panic() + } + + let lifted2611 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2610 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2610) + } + _ => panic() + } + + let lifted2613 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2612 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2612) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2609, max : lifted2611, unit : lifted2613}) + } + _ => panic() + } + + @types.SchemaTypeBody::S16Type(lifted2614) + } + 4 => { + + let lifted2621 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2616 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2615 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2615) + } + _ => panic() + } + + let lifted2618 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2617 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2617) + } + _ => panic() + } + + let lifted2620 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2619 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2619) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2616, max : lifted2618, unit : lifted2620}) + } + _ => panic() + } + + @types.SchemaTypeBody::S32Type(lifted2621) + } + 5 => { + + let lifted2628 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2623 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2622 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2622) + } + _ => panic() + } + + let lifted2625 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2624 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2624) + } + _ => panic() + } + + let lifted2627 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2626 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2626) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2623, max : lifted2625, unit : lifted2627}) + } + _ => panic() + } + + @types.SchemaTypeBody::S64Type(lifted2628) + } + 6 => { + + let lifted2635 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2630 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2629 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2629) + } + _ => panic() + } + + let lifted2632 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2631 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2631) + } + _ => panic() + } + + let lifted2634 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2633 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2633) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2630, max : lifted2632, unit : lifted2634}) + } + _ => panic() + } + + @types.SchemaTypeBody::U8Type(lifted2635) + } + 7 => { + + let lifted2642 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2637 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2636 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2636) + } + _ => panic() + } + + let lifted2639 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2638 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2638) + } + _ => panic() + } + + let lifted2641 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2640 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2640) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2637, max : lifted2639, unit : lifted2641}) + } + _ => panic() + } + + @types.SchemaTypeBody::U16Type(lifted2642) + } + 8 => { + + let lifted2649 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2644 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2643 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2643) + } + _ => panic() + } + + let lifted2646 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2645 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2645) + } + _ => panic() + } + + let lifted2648 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2647 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2647) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2644, max : lifted2646, unit : lifted2648}) + } + _ => panic() + } + + @types.SchemaTypeBody::U32Type(lifted2649) + } + 9 => { + + let lifted2656 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2651 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2650 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2650) + } + _ => panic() + } + + let lifted2653 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2652 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2652) + } + _ => panic() + } + + let lifted2655 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2654 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2654) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2651, max : lifted2653, unit : lifted2655}) + } + _ => panic() + } + + @types.SchemaTypeBody::U64Type(lifted2656) + } + 10 => { + + let lifted2663 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let lifted2658 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { + + let lifted2657 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2657) + } + _ => panic() + } + + let lifted2660 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { + + let lifted2659 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { + + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { + + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { + + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } + + Option::Some(lifted2659) + } + _ => panic() + } + + let lifted2662 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { + + let result2661 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) + + Option::Some(result2661) + } + _ => panic() + } + + Option::Some(@types.NumericRestrictions::{min : lifted2658, max : lifted2660, unit : lifted2662}) + } + _ => panic() + } - let array1640 : Array[String] = [] - for index1641 = 0 - index1641 < mbt_ffi_load32(iter_base + 52) - index1641 = index1641 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1641 * 8 + @types.SchemaTypeBody::F32Type(lifted2663) + } + 11 => { - let result1639 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2670 : @types.NumericRestrictions? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - array1640.push(result1639) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let lifted2665 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let array1643 : Array[String] = [] - for index1644 = 0 - index1644 < mbt_ffi_load32(iter_base + 60) - index1644 = index1644 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1644 * 8 + let lifted2664 = match (mbt_ffi_load8_u((iter_base) + 24)) { + 0 => { - let result1642 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 32)) + } + 1 => { - array1643.push(result1642) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1646 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1645 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1645) - } - _ => panic() - } + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + 2 => { - let lifted1649 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1648 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()) + } + _ => panic() + } - @types.Role::Other(result1647) - } - _ => panic() - } + Option::Some(lifted2664) + } + _ => panic() + } - Option::Some(lifted1648) - } - _ => panic() - } + let lifted2667 : @types.NumericBound? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - array1650.push(@types.UnionBranch::{ - tag: result1627, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1636, - metadata: @types.MetadataEnvelope::{ - doc: lifted1638, - aliases: array1640, - examples: array1643, - deprecated: lifted1646, - role: lifted1649, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1650, - }) - } - 32 => { - let lifted1653 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1652 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1652) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1653, - }) - } - 33 => { - let lifted1655 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1654) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1655, - }) - } - 34 => { - let lifted1656 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1656) - } - 35 => { - let lifted1657 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1657) - } - _ => panic() - } + let lifted2666 = match (mbt_ffi_load8_u((iter_base) + 48)) { + 0 => { - let lifted1660 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1659 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1659) - } - _ => panic() - } + @types.NumericBound::Signed(mbt_ffi_load64((iter_base) + 56)) + } + 1 => { - let array1662 : Array[String] = [] - for index1663 = 0 - index1663 < mbt_ffi_load32(iter_base + 104) - index1663 = index1663 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1663 * 8 + @types.NumericBound::Unsigned((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + 2 => { - let result1661 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.NumericBound::FloatBits((mbt_ffi_load64((iter_base) + 56)).reinterpret_as_uint64()) + } + _ => panic() + } - array1662.push(result1661) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + Option::Some(lifted2666) + } + _ => panic() + } - let array1665 : Array[String] = [] - for index1666 = 0 - index1666 < mbt_ffi_load32(iter_base + 112) - index1666 = index1666 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1666 * 8 + let lifted2669 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - let result1664 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2668 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - array1665.push(result1664) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1668 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1667 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1667) - } - _ => panic() - } + Option::Some(result2668) + } + _ => panic() + } - let lifted1671 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1670 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1669 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1669) - } - _ => panic() - } + Option::Some(@types.NumericRestrictions::{min : lifted2665, max : lifted2667, unit : lifted2669}) + } + _ => panic() + } - Option::Some(lifted1670) - } - _ => panic() - } + @types.SchemaTypeBody::F64Type(lifted2670) + } + 12 => { - array1672.push(@types.SchemaTypeNode::{ - body: lifted1658, - metadata: @types.MetadataEnvelope::{ - doc: lifted1660, - aliases: array1662, - examples: array1665, - deprecated: lifted1668, - role: lifted1671, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array1677 : Array[@types.SchemaTypeDef] = [] - for index1678 = 0 - index1678 < mbt_ffi_load32(iter_base + 48) - index1678 = index1678 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + - index1678 * 24 - - let result1674 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1676 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1675 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1675) - } - _ => panic() - } + @types.SchemaTypeBody::CharType + } + 13 => { - array1677.push(@types.SchemaTypeDef::{ - id: result1674, - name: lifted1676, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array1708 : Array[@types.SchemaValueNode] = [] - for index1709 = 0 - index1709 < mbt_ffi_load32(iter_base + 60) - index1709 = index1709 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1709 * 32 - - let lifted1707 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1679 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1679) - } - 13 => { - let array1680 : Array[Int] = [] - for index1681 = 0 - index1681 < mbt_ffi_load32(iter_base + 12) - index1681 = index1681 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1681 * 4 - - array1680.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1680) - } - 14 => { - let lifted1682 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1682, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1683 : Array[Bool] = [] - for index1684 = 0 - index1684 < mbt_ffi_load32(iter_base + 12) - index1684 = index1684 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1684 * 1 - - array1683.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1683) - } - 17 => { - let array1685 : Array[Int] = [] - for index1686 = 0 - index1686 < mbt_ffi_load32(iter_base + 12) - index1686 = index1686 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1686 * 4 - - array1685.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1685) - } - 18 => { - let array1687 : Array[Int] = [] - for index1688 = 0 - index1688 < mbt_ffi_load32(iter_base + 12) - index1688 = index1688 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1688 * 4 - - array1687.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1687) - } - 19 => { - let array1689 : Array[Int] = [] - for index1690 = 0 - index1690 < mbt_ffi_load32(iter_base + 12) - index1690 = index1690 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1690 * 4 - - array1689.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1689) - } - 20 => { - let array1691 : Array[@types.MapEntry] = [] - for index1692 = 0 - index1692 < mbt_ffi_load32(iter_base + 12) - index1692 = index1692 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1692 * 8 - - array1691.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1691) - } - 21 => { - let lifted1693 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1693) - } - 22 => { - let lifted1696 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1694 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1694) - } - 1 => { - let lifted1695 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1695) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1696) - } - 23 => { - let result1697 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1699 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1698 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1698) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1697, - language: lifted1699, - }) - } - 24 => { - let result1700 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1702 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1701 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1701) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1700, - mime_type: lifted1702, - }) - } - 25 => { - let result1703 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1703) - } - 26 => { - let result1704 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1704) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1705 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1705, - }) - } - 30 => { - let result1706 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1706, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.SchemaTypeBody::StringType + } + 14 => { - array1708.push(lifted1707) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - AgentInvocationResult::AgentInitialization(AgentInvocationOutputParameters::{ - output: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1672, - defs: array1677, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1708, - root: mbt_ffi_load32(iter_base + 64), - }, - }, - }) - } - 1 => { - let array1906 : Array[@types.SchemaTypeNode] = [] - for index1907 = 0 - index1907 < mbt_ffi_load32(iter_base + 40) - index1907 = index1907 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1907 * 144 - - let lifted1892 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1716 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1711 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1710 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2685 : Array[@types.NamedFieldType] = []; + for index2686 = 0; index2686 < (mbt_ffi_load32((iter_base) + 12)); index2686 = index2686 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2686 * 68) - Option::Some(lifted1710) - } - _ => panic() - } - - let lifted1713 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1712 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2671 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1712) - } - _ => panic() - } - - let lifted1715 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1714 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1714) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1711, - max: lifted1713, - unit: lifted1715, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1716) - } - 3 => { - let lifted1723 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1718 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1717 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2673 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted1717) - } - _ => panic() - } - - let lifted1720 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1719 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2672 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted1719) - } - _ => panic() - } - - let lifted1722 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1721 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1721) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1718, - max: lifted1720, - unit: lifted1722, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1723) - } - 4 => { - let lifted1730 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1725 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1724 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2672) + } + _ => panic() + } - Option::Some(lifted1724) - } - _ => panic() - } - - let lifted1727 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1726 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2675 : Array[String] = []; + for index2676 = 0; index2676 < (mbt_ffi_load32((iter_base) + 28)); index2676 = index2676 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2676 * 8) - Option::Some(lifted1726) - } - _ => panic() - } - - let lifted1729 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1728 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1728) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1725, - max: lifted1727, - unit: lifted1729, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1730) - } - 5 => { - let lifted1737 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1732 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1731 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2674 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1731) - } - _ => panic() - } - - let lifted1734 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1733 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2675.push(result2674) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted1733) - } - _ => panic() - } - - let lifted1736 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1735 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1735) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1732, - max: lifted1734, - unit: lifted1736, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1737) - } - 6 => { - let lifted1744 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1739 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1738 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2678 : Array[String] = []; + for index2679 = 0; index2679 < (mbt_ffi_load32((iter_base) + 36)); index2679 = index2679 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 32)) + (index2679 * 8) - Option::Some(lifted1738) - } - _ => panic() - } - - let lifted1741 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1740 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2677 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1740) - } - _ => panic() - } - - let lifted1743 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1742 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1742) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1739, - max: lifted1741, - unit: lifted1743, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1744) - } - 7 => { - let lifted1751 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1746 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1745 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2678.push(result2677) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 32)) - Option::Some(lifted1745) - } - _ => panic() - } - - let lifted1748 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1747 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2681 : String? = match mbt_ffi_load8_u((iter_base) + 40) { + 0 => Option::None + 1 => { - Option::Some(lifted1747) - } - _ => panic() - } - - let lifted1750 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1749 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1749) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1746, - max: lifted1748, - unit: lifted1750, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted1751) - } - 8 => { - let lifted1758 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1753 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1752 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2680 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - Option::Some(lifted1752) - } - _ => panic() - } - - let lifted1755 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1754 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2680) + } + _ => panic() + } - Option::Some(lifted1754) - } - _ => panic() - } - - let lifted1757 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1756 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1756) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1753, - max: lifted1755, - unit: lifted1757, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted1758) - } - 9 => { - let lifted1765 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1760 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1759 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2684 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 52) { + 0 => Option::None + 1 => { - Option::Some(lifted1759) - } - _ => panic() - } - - let lifted1762 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1761 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2683 = match (mbt_ffi_load8_u((iter_base) + 56)) { + 0 => { - Option::Some(lifted1761) - } - _ => panic() - } - - let lifted1764 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1763 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1763) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1760, - max: lifted1762, - unit: lifted1764, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted1765) - } - 10 => { - let lifted1772 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1767 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1766 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted1766) - } - _ => panic() - } - - let lifted1769 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1768 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - Option::Some(lifted1768) - } - _ => panic() - } - - let lifted1771 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1770 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1770) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1767, - max: lifted1769, - unit: lifted1771, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted1772) - } - 11 => { - let lifted1779 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1774 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1773 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted1773) - } - _ => panic() - } - - let lifted1776 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1775 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2682 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 60), mbt_ffi_load32((iter_base) + 64)) - Option::Some(lifted1775) - } - _ => panic() - } - - let lifted1778 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1777 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1777) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1774, - max: lifted1776, - unit: lifted1778, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted1779) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array1794 : Array[@types.NamedFieldType] = [] - for index1795 = 0 - index1795 < mbt_ffi_load32(iter_base + 12) - index1795 = index1795 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1795 * 68 - - let result1780 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1782 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1781 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1781) - } - _ => panic() - } + @types.Role::Other(result2682) + } + _ => panic() + } - let array1784 : Array[String] = [] - for index1785 = 0 - index1785 < mbt_ffi_load32(iter_base + 28) - index1785 = index1785 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1785 * 8 + Option::Some(lifted2683) + } + _ => panic() + } - let result1783 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2685.push(@types.NamedFieldType::{name : result2671, body : mbt_ffi_load32((iter_base) + 8), metadata : @types.MetadataEnvelope::{doc : lifted2673, aliases : array2675, examples : array2678, deprecated : lifted2681, role : lifted2684}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1784.push(result1783) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + @types.SchemaTypeBody::RecordType(array2685) + } + 15 => { - let array1787 : Array[String] = [] - for index1788 = 0 - index1788 < mbt_ffi_load32(iter_base + 36) - index1788 = index1788 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index1788 * 8 + let array2702 : Array[@types.VariantCaseType] = []; + for index2703 = 0; index2703 < (mbt_ffi_load32((iter_base) + 12)); index2703 = index2703 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2703 * 72) - let result1786 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2687 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array1787.push(result1786) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted1790 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result1789 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result1789) - } - _ => panic() - } + let lifted2688 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted1793 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted1792 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1791 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - @types.Role::Other(result1791) - } - _ => panic() - } + let lifted2690 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - Option::Some(lifted1792) - } - _ => panic() - } + let result2689 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - array1794.push(@types.NamedFieldType::{ - name: result1780, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted1782, - aliases: array1784, - examples: array1787, - deprecated: lifted1790, - role: lifted1793, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array1794) - } - 15 => { - let array1811 : Array[@types.VariantCaseType] = [] - for index1812 = 0 - index1812 < mbt_ffi_load32(iter_base + 12) - index1812 = index1812 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1812 * 72 - - let result1796 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1797 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + Option::Some(result2689) + } + _ => panic() + } - let lifted1799 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1798 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1798) - } - _ => panic() - } + let array2692 : Array[String] = []; + for index2693 = 0; index2693 < (mbt_ffi_load32((iter_base) + 32)); index2693 = index2693 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2693 * 8) - let array1801 : Array[String] = [] - for index1802 = 0 - index1802 < mbt_ffi_load32(iter_base + 32) - index1802 = index1802 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1802 * 8 + let result2691 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1800 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2692.push(result2691) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) - array1801.push(result1800) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + let array2695 : Array[String] = []; + for index2696 = 0; index2696 < (mbt_ffi_load32((iter_base) + 40)); index2696 = index2696 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 36)) + (index2696 * 8) - let array1804 : Array[String] = [] - for index1805 = 0 - index1805 < mbt_ffi_load32(iter_base + 40) - index1805 = index1805 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index1805 * 8 + let result2694 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1803 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2695.push(result2694) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 36)) - array1804.push(result1803) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted1807 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result1806 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result1806) - } - _ => panic() - } + let lifted2698 : String? = match mbt_ffi_load8_u((iter_base) + 44) { + 0 => Option::None + 1 => { - let lifted1810 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted1809 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1808 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let result2697 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 48), mbt_ffi_load32((iter_base) + 52)) - @types.Role::Other(result1808) - } - _ => panic() - } + Option::Some(result2697) + } + _ => panic() + } - Option::Some(lifted1809) - } - _ => panic() - } + let lifted2701 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - array1811.push(@types.VariantCaseType::{ - name: result1796, - payload: lifted1797, - metadata: @types.MetadataEnvelope::{ - doc: lifted1799, - aliases: array1801, - examples: array1804, - deprecated: lifted1807, - role: lifted1810, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array1811) - } - 16 => { - let array1814 : Array[String] = [] - for index1815 = 0 - index1815 < mbt_ffi_load32(iter_base + 12) - index1815 = index1815 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1815 * 8 - - let result1813 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1814.push(result1813) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array1814) - } - 17 => { - let array1817 : Array[String] = [] - for index1818 = 0 - index1818 < mbt_ffi_load32(iter_base + 12) - index1818 = index1818 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1818 * 8 - - let result1816 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1817.push(result1816) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array1817) - } - 18 => { - let array1819 : Array[Int] = [] - for index1820 = 0 - index1820 < mbt_ffi_load32(iter_base + 12) - index1820 = index1820 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1820 * 4 - - array1819.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array1819) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted1821 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted1822 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted1821, - err: lifted1822, - }) - } - 24 => { - let lifted1826 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1824 : Array[String] = [] - for index1825 = 0 - index1825 < mbt_ffi_load32(iter_base + 16) - index1825 = index1825 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1825 * 8 - - let result1823 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1824.push(result1823) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1824) - } - _ => panic() - } - - let lifted1827 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1828 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1830 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1829 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1829) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted1826, - min_length: lifted1827, - max_length: lifted1828, - regex: lifted1830, - }) - } - 25 => { - let lifted1834 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1832 : Array[String] = [] - for index1833 = 0 - index1833 < mbt_ffi_load32(iter_base + 16) - index1833 = index1833 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1833 * 8 - - let result1831 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1832.push(result1831) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1832) - } - _ => panic() - } - - let lifted1835 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted1836 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted1834, - min_bytes: lifted1835, - max_bytes: lifted1836, - }) - } - 26 => { - let lifted1840 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array1838 : Array[String] = [] - for index1839 = 0 - index1839 < mbt_ffi_load32(iter_base + 20) - index1839 = index1839 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1839 * 8 - - let result1837 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1838.push(result1837) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array1838) - } - _ => panic() - } - - let lifted1844 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array1842 : Array[String] = [] - for index1843 = 0 - index1843 < mbt_ffi_load32(iter_base + 32) - index1843 = index1843 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index1843 * 8 - - let result1841 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1842.push(result1841) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array1842) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted1840, - allowed_extensions: lifted1844, - }) - } - 27 => { - let lifted1848 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array1846 : Array[String] = [] - for index1847 = 0 - index1847 < mbt_ffi_load32(iter_base + 16) - index1847 = index1847 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index1847 * 8 - - let result1845 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1846.push(result1845) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array1846) - } - _ => panic() - } - - let lifted1852 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array1850 : Array[String] = [] - for index1851 = 0 - index1851 < mbt_ffi_load32(iter_base + 28) - index1851 = index1851 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index1851 * 8 - - let result1849 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1850.push(result1849) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array1850) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted1848, - allowed_hosts: lifted1852, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result1853 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array1855 : Array[String] = [] - for index1856 = 0 - index1856 < mbt_ffi_load32(iter_base + 20) - index1856 = index1856 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index1856 * 8 - - let result1854 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array1855.push(result1854) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted1858 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1857 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result1857, - }) - } - _ => panic() - } - - let lifted1860 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result1859 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result1859, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result1853, - allowed_suffixes: array1855, - min: lifted1858, - max: lifted1860, - }) - } - 31 => { - let array1884 : Array[@types.UnionBranch] = [] - for index1885 = 0 - index1885 < mbt_ffi_load32(iter_base + 12) - index1885 = index1885 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1885 * 92 - - let result1861 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1870 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result1862 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result1862) - } - 1 => { - let result1863 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result1863) - } - 2 => { - let result1864 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result1864) - } - 3 => { - let result1865 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result1865) - } - 4 => { - let result1866 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted1868 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result1867 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let lifted2700 = match (mbt_ffi_load8_u((iter_base) + 60)) { + 0 => { - Option::Some(result1867) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result1866, - literal: lifted1868, - }) - } - 5 => { - let result1869 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result1869) - } - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - let lifted1872 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1871 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1871) - } - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - let array1874 : Array[String] = [] - for index1875 = 0 - index1875 < mbt_ffi_load32(iter_base + 52) - index1875 = index1875 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index1875 * 8 + @types.Role::UnstructuredBinary + } + 3 => { - let result1873 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2699 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 64), mbt_ffi_load32((iter_base) + 68)) - array1874.push(result1873) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.Role::Other(result2699) + } + _ => panic() + } - let array1877 : Array[String] = [] - for index1878 = 0 - index1878 < mbt_ffi_load32(iter_base + 60) - index1878 = index1878 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1878 * 8 + Option::Some(lifted2700) + } + _ => panic() + } - let result1876 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2702.push(@types.VariantCaseType::{name : result2687, payload : lifted2688, metadata : @types.MetadataEnvelope::{doc : lifted2690, aliases : array2692, examples : array2695, deprecated : lifted2698, role : lifted2701}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1877.push(result1876) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted1880 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1879 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1879) - } - _ => panic() - } + @types.SchemaTypeBody::VariantType(array2702) + } + 16 => { - let lifted1883 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted1882 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1881 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let array2705 : Array[String] = []; + for index2706 = 0; index2706 < (mbt_ffi_load32((iter_base) + 12)); index2706 = index2706 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2706 * 8) - @types.Role::Other(result1881) - } - _ => panic() - } + let result2704 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1882) - } - _ => panic() - } + array2705.push(result2704) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1884.push(@types.UnionBranch::{ - tag: result1861, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted1870, - metadata: @types.MetadataEnvelope::{ - doc: lifted1872, - aliases: array1874, - examples: array1877, - deprecated: lifted1880, - role: lifted1883, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array1884, - }) - } - 32 => { - let lifted1887 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result1886 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result1886) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted1887, - }) - } - 33 => { - let lifted1889 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1888 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1888) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted1889, - }) - } - 34 => { - let lifted1890 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted1890) - } - 35 => { - let lifted1891 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted1891) - } - _ => panic() - } + @types.SchemaTypeBody::EnumType(array2705) + } + 17 => { - let lifted1894 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result1893 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result1893) - } - _ => panic() - } + let array2708 : Array[String] = []; + for index2709 = 0; index2709 < (mbt_ffi_load32((iter_base) + 12)); index2709 = index2709 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2709 * 8) - let array1896 : Array[String] = [] - for index1897 = 0 - index1897 < mbt_ffi_load32(iter_base + 104) - index1897 = index1897 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index1897 * 8 + let result2707 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result1895 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2708.push(result2707) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1896.push(result1895) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + @types.SchemaTypeBody::FlagsType(array2708) + } + 18 => { - let array1899 : Array[String] = [] - for index1900 = 0 - index1900 < mbt_ffi_load32(iter_base + 112) - index1900 = index1900 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index1900 * 8 + let array2710 : Array[Int] = []; + for index2711 = 0; index2711 < (mbt_ffi_load32((iter_base) + 12)); index2711 = index2711 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2711 * 4) - let result1898 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2710.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - array1899.push(result1898) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted1902 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result1901 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result1901) - } - _ => panic() - } + @types.SchemaTypeBody::TupleType(array2710) + } + 19 => { - let lifted1905 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted1904 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result1903 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result1903) - } - _ => panic() - } + @types.SchemaTypeBody::ListType(mbt_ffi_load32((iter_base) + 8)) + } + 20 => { - Option::Some(lifted1904) - } - _ => panic() - } + @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{element : mbt_ffi_load32((iter_base) + 8), length : (mbt_ffi_load32((iter_base) + 12)).reinterpret_as_uint()}) + } + 21 => { - array1906.push(@types.SchemaTypeNode::{ - body: lifted1892, - metadata: @types.MetadataEnvelope::{ - doc: lifted1894, - aliases: array1896, - examples: array1899, - deprecated: lifted1902, - role: lifted1905, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let array1911 : Array[@types.SchemaTypeDef] = [] - for index1912 = 0 - index1912 < mbt_ffi_load32(iter_base + 48) - index1912 = index1912 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + - index1912 * 24 - - let result1908 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted1910 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result1909 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result1909) - } - _ => panic() - } + @types.SchemaTypeBody::MapType(@types.MapSpec::{key : mbt_ffi_load32((iter_base) + 8), value : mbt_ffi_load32((iter_base) + 12)}) + } + 22 => { - array1911.push(@types.SchemaTypeDef::{ - id: result1908, - name: lifted1910, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array1942 : Array[@types.SchemaValueNode] = [] - for index1943 = 0 - index1943 < mbt_ffi_load32(iter_base + 60) - index1943 = index1943 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1943 * 32 - - let lifted1941 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result1913 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result1913) - } - 13 => { - let array1914 : Array[Int] = [] - for index1915 = 0 - index1915 < mbt_ffi_load32(iter_base + 12) - index1915 = index1915 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1915 * 4 - - array1914.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array1914) - } - 14 => { - let lifted1916 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted1916, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array1917 : Array[Bool] = [] - for index1918 = 0 - index1918 < mbt_ffi_load32(iter_base + 12) - index1918 = index1918 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1918 * 1 - - array1917.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array1917) - } - 17 => { - let array1919 : Array[Int] = [] - for index1920 = 0 - index1920 < mbt_ffi_load32(iter_base + 12) - index1920 = index1920 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1920 * 4 - - array1919.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array1919) - } - 18 => { - let array1921 : Array[Int] = [] - for index1922 = 0 - index1922 < mbt_ffi_load32(iter_base + 12) - index1922 = index1922 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1922 * 4 - - array1921.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array1921) - } - 19 => { - let array1923 : Array[Int] = [] - for index1924 = 0 - index1924 < mbt_ffi_load32(iter_base + 12) - index1924 = index1924 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1924 * 4 - - array1923.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array1923) - } - 20 => { - let array1925 : Array[@types.MapEntry] = [] - for index1926 = 0 - index1926 < mbt_ffi_load32(iter_base + 12) - index1926 = index1926 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index1926 * 8 - - array1925.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array1925) - } - 21 => { - let lifted1927 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted1927) - } - 22 => { - let lifted1930 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted1928 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted1928) - } - 1 => { - let lifted1929 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted1929) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted1930) - } - 23 => { - let result1931 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1933 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1932 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1932) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result1931, - language: lifted1933, - }) - } - 24 => { - let result1934 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted1936 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result1935 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result1935) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result1934, - mime_type: lifted1936, - }) - } - 25 => { - let result1937 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result1937) - } - 26 => { - let result1938 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result1938) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result1939 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result1939, - }) - } - 30 => { - let result1940 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result1940, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + @types.SchemaTypeBody::OptionType(mbt_ffi_load32((iter_base) + 8)) + } + 23 => { - array1942.push(lifted1941) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - AgentInvocationResult::AgentMethod(AgentInvocationOutputParameters::{ - output: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array1906, - defs: array1911, - root: mbt_ffi_load32(iter_base + 52), - }, - value: @types.SchemaValueTree::{ - value_nodes: array1942, - root: mbt_ffi_load32(iter_base + 64), - }, - }, - }) - } - 2 => AgentInvocationResult::ManualUpdate - 3 => { - let lifted1945 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1944 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1944) - } - _ => panic() - } - - AgentInvocationResult::LoadSnapshot(FallibleResultParameters::{ - error: lifted1945, - }) - } - 4 => { - let result1946 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - let result1947 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - AgentInvocationResult::SaveSnapshot(SaveSnapshotResultParameters::{ - snapshot: SnapshotData::{ - data: result1946, - mime_type: result1947, - }, - }) - } - 5 => { - let lifted1949 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result1948 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result1948) - } - _ => panic() - } - - AgentInvocationResult::ProcessOplogEntries(FallibleResultParameters::{ - error: lifted1949, - }) - } - _ => panic() - } + let lifted2712 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let lifted1952 : String? = match mbt_ffi_load8_u(iter_base + 68) { - 0 => Option::None - 1 => { - let result1951 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 72), - mbt_ffi_load32(iter_base + 76), - ) - - Option::Some(result1951) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - PublicOplogEntry::AgentInvocationFinished(AgentInvocationFinishedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - result: lifted1950, - method_name: lifted1952, - consumed_fuel: mbt_ffi_load64(iter_base + 80), - component_revision: mbt_ffi_load64(iter_base + 88).reinterpret_as_uint64(), - }) - } - 6 => - PublicOplogEntry::Suspend(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - }) - 7 => { - let result1953 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let lifted1957 : RetryPolicyState? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let array1955 : Array[StateNode] = [] - for index1956 = 0 - index1956 < mbt_ffi_load32(iter_base + 60) - index1956 = index1956 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index1956 * 16 - - let lifted1954 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - StateNode::Counter( - mbt_ffi_load32(iter_base + 4).reinterpret_as_uint(), - ) - 1 => StateNode::Terminal - 2 => StateNode::Wrapper(mbt_ffi_load32(iter_base + 4)) - 3 => - StateNode::CountBox(CountBoxState::{ - attempts: mbt_ffi_load32(iter_base + 4).reinterpret_as_uint(), - inner: mbt_ffi_load32(iter_base + 8), - }) - 4 => - StateNode::AndThen(AndThenState::{ - left: mbt_ffi_load32(iter_base + 4), - right: mbt_ffi_load32(iter_base + 8), - on_right: mbt_ffi_load8_u(iter_base + 12) != 0, - }) - 5 => - StateNode::Pair(PairState::{ - left: mbt_ffi_load32(iter_base + 4), - right: mbt_ffi_load32(iter_base + 8), - }) - _ => panic() - } + let lifted2713 : Int? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - array1955.push(lifted1954) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) + Option::Some(mbt_ffi_load32((iter_base) + 20)) + } + _ => panic() + } - Option::Some(RetryPolicyState::{ nodes: array1955 }) - } - _ => panic() - } + @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ok : lifted2712, err : lifted2713}) + } + 24 => { - PublicOplogEntry::Error(ErrorParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - error: result1953, - retry_from: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - inside_atomic_region: mbt_ffi_load8_u(iter_base + 48) != 0, - retry_policy_state: lifted1957, - }) - } - 8 => - PublicOplogEntry::NoOp(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - }) - 9 => - PublicOplogEntry::Jump(JumpParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - jump: OplogRegion::{ - start: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - end: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }) - 10 => - PublicOplogEntry::Interrupted(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - }) - 11 => - PublicOplogEntry::Exited(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - }) - 12 => - PublicOplogEntry::BeginAtomicRegion(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - }) - 13 => - PublicOplogEntry::EndAtomicRegion(EndAtomicRegionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - 14 => { - let lifted2470 = match mbt_ffi_load8_u(iter_base + 32) { - 0 => { - let result1958 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let array2155 : Array[@types.SchemaTypeNode] = [] - for index2156 = 0 - index2156 < mbt_ffi_load32(iter_base + 52) - index2156 = index2156 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2156 * 144 - - let lifted2141 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted1965 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1960 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1959 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2717 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted1959) - } - _ => panic() - } - - let lifted1962 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1961 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2715 : Array[String] = []; + for index2716 = 0; index2716 < (mbt_ffi_load32((iter_base) + 16)); index2716 = index2716 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2716 * 8) - Option::Some(lifted1961) - } - _ => panic() - } - - let lifted1964 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1963 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1963) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1960, - max: lifted1962, - unit: lifted1964, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted1965) - } - 3 => { - let lifted1972 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1967 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1966 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2714 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted1966) - } - _ => panic() - } - - let lifted1969 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1968 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2715.push(result2714) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted1968) - } - _ => panic() - } - - let lifted1971 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1970 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1970) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1967, - max: lifted1969, - unit: lifted1971, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted1972) - } - 4 => { - let lifted1979 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1974 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1973 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array2715) + } + _ => panic() + } - Option::Some(lifted1973) - } - _ => panic() - } - - let lifted1976 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1975 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2718 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(lifted1975) - } - _ => panic() - } - - let lifted1978 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1977 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1977) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1974, - max: lifted1976, - unit: lifted1978, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted1979) - } - 5 => { - let lifted1986 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1981 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1980 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted1980) - } - _ => panic() - } - - let lifted1983 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1982 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2719 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - Option::Some(lifted1982) - } - _ => panic() - } - - let lifted1985 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1984 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1984) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1981, - max: lifted1983, - unit: lifted1985, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted1986) - } - 6 => { - let lifted1993 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1988 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1987 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted1987) - } - _ => panic() - } - - let lifted1990 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1989 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2721 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - Option::Some(lifted1989) - } - _ => panic() - } - - let lifted1992 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1991 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1991) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1988, - max: lifted1990, - unit: lifted1992, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted1993) - } - 7 => { - let lifted2000 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted1995 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted1994 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2720 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - Option::Some(lifted1994) - } - _ => panic() - } - - let lifted1997 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted1996 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2720) + } + _ => panic() + } - Option::Some(lifted1996) - } - _ => panic() - } - - let lifted1999 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result1998 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result1998) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted1995, - max: lifted1997, - unit: lifted1999, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted2000) - } - 8 => { - let lifted2007 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2002 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2001 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::TextType(@types.TextRestrictions::{languages : lifted2717, min_length : lifted2718, max_length : lifted2719, regex : lifted2721}) + } + 25 => { - Option::Some(lifted2001) - } - _ => panic() - } - - let lifted2004 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2003 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2725 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2003) - } - _ => panic() - } - - let lifted2006 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2005 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2005) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2002, - max: lifted2004, - unit: lifted2006, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted2007) - } - 9 => { - let lifted2014 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2009 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2008 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2723 : Array[String] = []; + for index2724 = 0; index2724 < (mbt_ffi_load32((iter_base) + 16)); index2724 = index2724 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2724 * 8) - Option::Some(lifted2008) - } - _ => panic() - } - - let lifted2011 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2010 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2722 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2010) - } - _ => panic() - } - - let lifted2013 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2012 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2012) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2009, - max: lifted2011, - unit: lifted2013, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted2014) - } - 10 => { - let lifted2021 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2016 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2015 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + array2723.push(result2722) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) - Option::Some(lifted2015) - } - _ => panic() - } - - let lifted2018 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2017 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(array2723) + } + _ => panic() + } - Option::Some(lifted2017) - } - _ => panic() - } - - let lifted2020 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2019 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2019) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2016, - max: lifted2018, - unit: lifted2020, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2021) - } - 11 => { - let lifted2028 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2023 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2022 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2726 : UInt? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { - Option::Some(lifted2022) - } - _ => panic() - } - - let lifted2025 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2024 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some((mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()) + } + _ => panic() + } - Option::Some(lifted2024) - } - _ => panic() - } - - let lifted2027 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2026 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2026) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2023, - max: lifted2025, - unit: lifted2027, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2028) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2043 : Array[@types.NamedFieldType] = [] - for index2044 = 0 - index2044 < mbt_ffi_load32(iter_base + 12) - index2044 = index2044 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2044 * 68 - - let result2029 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2031 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2030 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2030) - } - _ => panic() - } + let lifted2727 : UInt? = match mbt_ffi_load8_u((iter_base) + 28) { + 0 => Option::None + 1 => { - let array2033 : Array[String] = [] - for index2034 = 0 - index2034 < mbt_ffi_load32(iter_base + 28) - index2034 = index2034 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2034 * 8 + Option::Some((mbt_ffi_load32((iter_base) + 32)).reinterpret_as_uint()) + } + _ => panic() + } - let result2032 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{mime_types : lifted2725, min_bytes : lifted2726, max_bytes : lifted2727}) + } + 26 => { - array2033.push(result2032) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let lifted2731 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - let array2036 : Array[String] = [] - for index2037 = 0 - index2037 < mbt_ffi_load32(iter_base + 36) - index2037 = index2037 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2037 * 8 + let array2729 : Array[String] = []; + for index2730 = 0; index2730 < (mbt_ffi_load32((iter_base) + 20)); index2730 = index2730 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2730 * 8) - let result2035 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2728 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array2036.push(result2035) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2039 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2038 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2038) - } - _ => panic() - } + array2729.push(result2728) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) - let lifted2042 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2041 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2040 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + Option::Some(array2729) + } + _ => panic() + } - @types.Role::Other(result2040) - } - _ => panic() - } + let lifted2735 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - Option::Some(lifted2041) - } - _ => panic() - } + let array2733 : Array[String] = []; + for index2734 = 0; index2734 < (mbt_ffi_load32((iter_base) + 32)); index2734 = index2734 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 28)) + (index2734 * 8) + + let result2732 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2733.push(result2732) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 28)) + + Option::Some(array2733) + } + _ => panic() + } + + @types.SchemaTypeBody::PathType(@types.PathSpec::{direction : @types.PathDirection::from(mbt_ffi_load8_u((iter_base) + 8)), kind : @types.PathKind::from(mbt_ffi_load8_u((iter_base) + 9)), allowed_mime_types : lifted2731, allowed_extensions : lifted2735}) + } + 27 => { + + let lifted2739 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { + + let array2737 : Array[String] = []; + for index2738 = 0; index2738 < (mbt_ffi_load32((iter_base) + 16)); index2738 = index2738 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 12)) + (index2738 * 8) + + let result2736 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2737.push(result2736) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 12)) + + Option::Some(array2737) + } + _ => panic() + } + + let lifted2743 : Array[String]? = match mbt_ffi_load8_u((iter_base) + 20) { + 0 => Option::None + 1 => { + + let array2741 : Array[String] = []; + for index2742 = 0; index2742 < (mbt_ffi_load32((iter_base) + 28)); index2742 = index2742 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 24)) + (index2742 * 8) + + let result2740 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2741.push(result2740) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 24)) + + Option::Some(array2741) + } + _ => panic() + } + + @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{allowed_schemes : lifted2739, allowed_hosts : lifted2743}) + } + 28 => { + + @types.SchemaTypeBody::DatetimeType + } + 29 => { + + @types.SchemaTypeBody::DurationType + } + 30 => { + + let result2744 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) + + let array2746 : Array[String] = []; + for index2747 = 0; index2747 < (mbt_ffi_load32((iter_base) + 20)); index2747 = index2747 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 16)) + (index2747 * 8) + + let result2745 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) + + array2746.push(result2745) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 16)) + + let lifted2749 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - array2043.push(@types.NamedFieldType::{ - name: result2029, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2031, - aliases: array2033, - examples: array2036, - deprecated: lifted2039, - role: lifted2042, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2043) - } - 15 => { - let array2060 : Array[@types.VariantCaseType] = [] - for index2061 = 0 - index2061 < mbt_ffi_load32(iter_base + 12) - index2061 = index2061 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2061 * 72 - - let result2045 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2046 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result2748 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 44), mbt_ffi_load32((iter_base) + 48)) - let lifted2048 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2047 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2047) - } - _ => panic() - } + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 32), scale : mbt_ffi_load32((iter_base) + 40), unit : result2748}) + } + _ => panic() + } - let array2050 : Array[String] = [] - for index2051 = 0 - index2051 < mbt_ffi_load32(iter_base + 32) - index2051 = index2051 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2051 * 8 + let lifted2751 : @types.QuantityValue? = match mbt_ffi_load8_u((iter_base) + 56) { + 0 => Option::None + 1 => { - let result2049 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2750 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 76), mbt_ffi_load32((iter_base) + 80)) - array2050.push(result2049) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + Option::Some(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 64), scale : mbt_ffi_load32((iter_base) + 72), unit : result2750}) + } + _ => panic() + } - let array2053 : Array[String] = [] - for index2054 = 0 - index2054 < mbt_ffi_load32(iter_base + 40) - index2054 = index2054 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2054 * 8 + @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{base_unit : result2744, allowed_suffixes : array2746, min : lifted2749, max : lifted2751}) + } + 31 => { - let result2052 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let array2775 : Array[@types.UnionBranch] = []; + for index2776 = 0; index2776 < (mbt_ffi_load32((iter_base) + 12)); index2776 = index2776 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2776 * 92) - array2053.push(result2052) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2056 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2055 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2055) - } - _ => panic() - } + let result2752 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted2059 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2058 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2057 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + let lifted2761 = match (mbt_ffi_load8_u((iter_base) + 12)) { + 0 => { - @types.Role::Other(result2057) - } - _ => panic() - } + let result2753 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted2058) - } - _ => panic() - } + @types.DiscriminatorRule::Prefix(result2753) + } + 1 => { - array2060.push(@types.VariantCaseType::{ - name: result2045, - payload: lifted2046, - metadata: @types.MetadataEnvelope::{ - doc: lifted2048, - aliases: array2050, - examples: array2053, - deprecated: lifted2056, - role: lifted2059, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2060) - } - 16 => { - let array2063 : Array[String] = [] - for index2064 = 0 - index2064 < mbt_ffi_load32(iter_base + 12) - index2064 = index2064 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2064 * 8 - - let result2062 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2063.push(result2062) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2063) - } - 17 => { - let array2066 : Array[String] = [] - for index2067 = 0 - index2067 < mbt_ffi_load32(iter_base + 12) - index2067 = index2067 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2067 * 8 - - let result2065 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2066.push(result2065) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2066) - } - 18 => { - let array2068 : Array[Int] = [] - for index2069 = 0 - index2069 < mbt_ffi_load32(iter_base + 12) - index2069 = index2069 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2069 * 4 - - array2068.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2068) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2070 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2071 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2070, - err: lifted2071, - }) - } - 24 => { - let lifted2075 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2073 : Array[String] = [] - for index2074 = 0 - index2074 < mbt_ffi_load32(iter_base + 16) - index2074 = index2074 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2074 * 8 - - let result2072 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2073.push(result2072) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2073) - } - _ => panic() - } - - let lifted2076 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2077 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2079 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2078 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2078) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2075, - min_length: lifted2076, - max_length: lifted2077, - regex: lifted2079, - }) - } - 25 => { - let lifted2083 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2081 : Array[String] = [] - for index2082 = 0 - index2082 < mbt_ffi_load32(iter_base + 16) - index2082 = index2082 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2082 * 8 - - let result2080 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2081.push(result2080) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2081) - } - _ => panic() - } - - let lifted2084 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2085 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2083, - min_bytes: lifted2084, - max_bytes: lifted2085, - }) - } - 26 => { - let lifted2089 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2087 : Array[String] = [] - for index2088 = 0 - index2088 < mbt_ffi_load32(iter_base + 20) - index2088 = index2088 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2088 * 8 - - let result2086 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2087.push(result2086) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2087) - } - _ => panic() - } - - let lifted2093 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2091 : Array[String] = [] - for index2092 = 0 - index2092 < mbt_ffi_load32(iter_base + 32) - index2092 = index2092 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2092 * 8 - - let result2090 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2091.push(result2090) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2091) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2089, - allowed_extensions: lifted2093, - }) - } - 27 => { - let lifted2097 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2095 : Array[String] = [] - for index2096 = 0 - index2096 < mbt_ffi_load32(iter_base + 16) - index2096 = index2096 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2096 * 8 - - let result2094 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2095.push(result2094) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2095) - } - _ => panic() - } - - let lifted2101 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2099 : Array[String] = [] - for index2100 = 0 - index2100 < mbt_ffi_load32(iter_base + 28) - index2100 = index2100 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2100 * 8 - - let result2098 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2099.push(result2098) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2099) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2097, - allowed_hosts: lifted2101, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2102 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2104 : Array[String] = [] - for index2105 = 0 - index2105 < mbt_ffi_load32(iter_base + 20) - index2105 = index2105 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2105 * 8 - - let result2103 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2104.push(result2103) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2107 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2106 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2106, - }) - } - _ => panic() - } - - let lifted2109 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2108 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2108, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2102, - allowed_suffixes: array2104, - min: lifted2107, - max: lifted2109, - }) - } - 31 => { - let array2133 : Array[@types.UnionBranch] = [] - for index2134 = 0 - index2134 < mbt_ffi_load32(iter_base + 12) - index2134 = index2134 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2134 * 92 - - let result2110 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2119 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2111 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2111) - } - 1 => { - let result2112 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2112) - } - 2 => { - let result2113 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2113) - } - 3 => { - let result2114 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2114) - } - 4 => { - let result2115 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2117 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2116 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + let result2754 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(result2116) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2115, - literal: lifted2117, - }) - } - 5 => { - let result2118 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2118) - } - _ => panic() - } + @types.DiscriminatorRule::Suffix(result2754) + } + 2 => { - let lifted2121 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2120 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2120) - } - _ => panic() - } + let result2755 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let array2123 : Array[String] = [] - for index2124 = 0 - index2124 < mbt_ffi_load32(iter_base + 52) - index2124 = index2124 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2124 * 8 + @types.DiscriminatorRule::Contains(result2755) + } + 3 => { - let result2122 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2756 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array2123.push(result2122) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + @types.DiscriminatorRule::Regex(result2756) + } + 4 => { - let array2126 : Array[String] = [] - for index2127 = 0 - index2127 < mbt_ffi_load32(iter_base + 60) - index2127 = index2127 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2127 * 8 + let result2757 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - let result2125 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2759 : String? = match mbt_ffi_load8_u((iter_base) + 24) { + 0 => Option::None + 1 => { - array2126.push(result2125) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2129 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2128 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2128) - } - _ => panic() - } + let result2758 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 28), mbt_ffi_load32((iter_base) + 32)) - let lifted2132 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2131 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2130 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + Option::Some(result2758) + } + _ => panic() + } - @types.Role::Other(result2130) - } - _ => panic() - } + @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{field_name : result2757, literal : lifted2759}) + } + 5 => { - Option::Some(lifted2131) - } - _ => panic() - } + let result2760 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - array2133.push(@types.UnionBranch::{ - tag: result2110, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2119, - metadata: @types.MetadataEnvelope::{ - doc: lifted2121, - aliases: array2123, - examples: array2126, - deprecated: lifted2129, - role: lifted2132, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2133, - }) - } - 32 => { - let lifted2136 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2135 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2135) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2136, - }) - } - 33 => { - let lifted2138 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2137 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2137) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2138, - }) - } - 34 => { - let lifted2139 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2139) - } - 35 => { - let lifted2140 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2140) - } - _ => panic() - } + @types.DiscriminatorRule::FieldAbsent(result2760) + } + _ => panic() + } - let lifted2143 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2142 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2142) - } - _ => panic() - } + let lifted2763 : String? = match mbt_ffi_load8_u((iter_base) + 36) { + 0 => Option::None + 1 => { - let array2145 : Array[String] = [] - for index2146 = 0 - index2146 < mbt_ffi_load32(iter_base + 104) - index2146 = index2146 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2146 * 8 + let result2762 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 40), mbt_ffi_load32((iter_base) + 44)) - let result2144 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2762) + } + _ => panic() + } - array2145.push(result2144) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + let array2765 : Array[String] = []; + for index2766 = 0; index2766 < (mbt_ffi_load32((iter_base) + 52)); index2766 = index2766 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 48)) + (index2766 * 8) - let array2148 : Array[String] = [] - for index2149 = 0 - index2149 < mbt_ffi_load32(iter_base + 112) - index2149 = index2149 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2149 * 8 + let result2764 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let result2147 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + array2765.push(result2764) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 48)) - array2148.push(result2147) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2151 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2150 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2150) - } - _ => panic() - } + let array2768 : Array[String] = []; + for index2769 = 0; index2769 < (mbt_ffi_load32((iter_base) + 60)); index2769 = index2769 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 56)) + (index2769 * 8) - let lifted2154 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2153 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2152 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2152) - } - _ => panic() - } + let result2767 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - Option::Some(lifted2153) - } - _ => panic() - } + array2768.push(result2767) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 56)) - array2155.push(@types.SchemaTypeNode::{ - body: lifted2141, - metadata: @types.MetadataEnvelope::{ - doc: lifted2143, - aliases: array2145, - examples: array2148, - deprecated: lifted2151, - role: lifted2154, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array2160 : Array[@types.SchemaTypeDef] = [] - for index2161 = 0 - index2161 < mbt_ffi_load32(iter_base + 60) - index2161 = index2161 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2161 * 24 - - let result2157 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2159 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2158 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2158) - } - _ => panic() - } + let lifted2771 : String? = match mbt_ffi_load8_u((iter_base) + 64) { + 0 => Option::None + 1 => { - array2160.push(@types.SchemaTypeDef::{ - id: result2157, - name: lifted2159, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array2191 : Array[@types.SchemaValueNode] = [] - for index2192 = 0 - index2192 < mbt_ffi_load32(iter_base + 72) - index2192 = index2192 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + - index2192 * 32 - - let lifted2190 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2162 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2162) - } - 13 => { - let array2163 : Array[Int] = [] - for index2164 = 0 - index2164 < mbt_ffi_load32(iter_base + 12) - index2164 = index2164 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2164 * 4 - - array2163.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2163) - } - 14 => { - let lifted2165 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2165, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2166 : Array[Bool] = [] - for index2167 = 0 - index2167 < mbt_ffi_load32(iter_base + 12) - index2167 = index2167 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2167 * 1 - - array2166.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2166) - } - 17 => { - let array2168 : Array[Int] = [] - for index2169 = 0 - index2169 < mbt_ffi_load32(iter_base + 12) - index2169 = index2169 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2169 * 4 - - array2168.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2168) - } - 18 => { - let array2170 : Array[Int] = [] - for index2171 = 0 - index2171 < mbt_ffi_load32(iter_base + 12) - index2171 = index2171 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2171 * 4 - - array2170.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2170) - } - 19 => { - let array2172 : Array[Int] = [] - for index2173 = 0 - index2173 < mbt_ffi_load32(iter_base + 12) - index2173 = index2173 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2173 * 4 - - array2172.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2172) - } - 20 => { - let array2174 : Array[@types.MapEntry] = [] - for index2175 = 0 - index2175 < mbt_ffi_load32(iter_base + 12) - index2175 = index2175 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2175 * 8 - - array2174.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2174) - } - 21 => { - let lifted2176 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2176) - } - 22 => { - let lifted2179 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2177 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2177) - } - 1 => { - let lifted2178 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2178) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2179) - } - 23 => { - let result2180 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2182 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2181 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2181) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2180, - language: lifted2182, - }) - } - 24 => { - let result2183 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2185 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2184 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2184) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2183, - mime_type: lifted2185, - }) - } - 25 => { - let result2186 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2186) - } - 26 => { - let result2187 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2187) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2188 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2188, - }) - } - 30 => { - let result2189 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2189, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let result2770 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 68), mbt_ffi_load32((iter_base) + 72)) - array2191.push(lifted2190) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - let result2193 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 80), - mbt_ffi_load32(iter_base + 84), - ) - - let array2195 : Array[String] = [] - for index2196 = 0 - index2196 < mbt_ffi_load32(iter_base + 92) - index2196 = index2196 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 88) + index2196 * 8 - - let result2194 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2195.push(result2194) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 88)) - - let array2210 : Array[Array[SpanData]] = [] - for index2211 = 0 - index2211 < mbt_ffi_load32(iter_base + 100) - index2211 = index2211 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index2211 * 8 - - let array2208 : Array[SpanData] = [] - for index2209 = 0 - index2209 < mbt_ffi_load32(iter_base + 4) - index2209 = index2209 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index2209 * 80 - - let lifted2207 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2197 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2199 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2198 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2198) - } - _ => panic() - } + Option::Some(result2770) + } + _ => panic() + } - let lifted2200 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2774 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 76) { + 0 => Option::None + 1 => { - let array2204 : Array[@context.Attribute] = [] - for index2205 = 0 - index2205 < mbt_ffi_load32(iter_base + 68) - index2205 = index2205 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index2205 * 20 - - let result2201 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2203 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2202 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2202) - } - _ => panic() - } - - array2204.push(@context.Attribute::{ - key: result2201, - value: lifted2203, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result2197, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted2199, - linked_context: lifted2200, - attributes: array2204, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result2206 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result2206, - }) - } - _ => panic() - } - - array2208.push(lifted2207) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array2210.push(array2208) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - AgentInvocation::AgentInitialization(AgentInitializationParameters::{ - idempotency_key: result1958, - constructor_parameters: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2155, - defs: array2160, - root: mbt_ffi_load32(iter_base + 64), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2191, - root: mbt_ffi_load32(iter_base + 76), - }, - }, - trace_id: result2193, - trace_states: array2195, - invocation_context: array2210, - }) - } - 1 => { - let result2212 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let result2213 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - let array2410 : Array[@types.SchemaTypeNode] = [] - for index2411 = 0 - index2411 < mbt_ffi_load32(iter_base + 60) - index2411 = index2411 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2411 * 144 - - let lifted2396 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType( - mbt_ffi_load32(iter_base + 8), - ) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted2220 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2215 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2214 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2773 = match (mbt_ffi_load8_u((iter_base) + 80)) { + 0 => { - Option::Some(lifted2214) - } - _ => panic() - } - - let lifted2217 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2216 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - Option::Some(lifted2216) - } - _ => panic() - } - - let lifted2219 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2218 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2218) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2215, - max: lifted2217, - unit: lifted2219, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S8Type(lifted2220) - } - 3 => { - let lifted2227 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2222 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2221 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredText + } + 2 => { - Option::Some(lifted2221) - } - _ => panic() - } - - let lifted2224 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2223 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted2223) - } - _ => panic() - } - - let lifted2226 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2225 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2225) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2222, - max: lifted2224, - unit: lifted2226, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S16Type(lifted2227) - } - 4 => { - let lifted2234 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2229 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2228 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2772 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 84), mbt_ffi_load32((iter_base) + 88)) - Option::Some(lifted2228) - } - _ => panic() - } - - let lifted2231 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2230 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.Role::Other(result2772) + } + _ => panic() + } - Option::Some(lifted2230) - } - _ => panic() - } - - let lifted2233 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2232 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2232) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2229, - max: lifted2231, - unit: lifted2233, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S32Type(lifted2234) - } - 5 => { - let lifted2241 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2236 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2235 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(lifted2773) + } + _ => panic() + } - Option::Some(lifted2235) - } - _ => panic() - } - - let lifted2238 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2237 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + array2775.push(@types.UnionBranch::{tag : result2752, body : mbt_ffi_load32((iter_base) + 8), discriminator : lifted2761, metadata : @types.MetadataEnvelope::{doc : lifted2763, aliases : array2765, examples : array2768, deprecated : lifted2771, role : lifted2774}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - Option::Some(lifted2237) - } - _ => panic() - } - - let lifted2240 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2239 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2239) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2236, - max: lifted2238, - unit: lifted2240, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::S64Type(lifted2241) - } - 6 => { - let lifted2248 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2243 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2242 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::UnionType(@types.UnionSpec::{branches : array2775}) + } + 32 => { - Option::Some(lifted2242) - } - _ => panic() - } - - let lifted2245 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2244 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2778 : String? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - Option::Some(lifted2244) - } - _ => panic() - } - - let lifted2247 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2246 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2246) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2243, - max: lifted2245, - unit: lifted2247, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U8Type(lifted2248) - } - 7 => { - let lifted2255 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2250 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2249 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2777 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 16), mbt_ffi_load32((iter_base) + 20)) - Option::Some(lifted2249) - } - _ => panic() - } - - let lifted2252 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2251 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2777) + } + _ => panic() + } - Option::Some(lifted2251) - } - _ => panic() - } - - let lifted2254 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2253 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2253) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2250, - max: lifted2252, - unit: lifted2254, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U16Type(lifted2255) - } - 8 => { - let lifted2262 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2257 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2256 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::SecretType(@types.SecretSpec::{inner : mbt_ffi_load32((iter_base) + 8), category : lifted2778}) + } + 33 => { - Option::Some(lifted2256) - } - _ => panic() - } - - let lifted2259 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2258 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2780 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2258) - } - _ => panic() - } - - let lifted2261 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2260 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2260) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2257, - max: lifted2259, - unit: lifted2261, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U32Type(lifted2262) - } - 9 => { - let lifted2269 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2264 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2263 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + let result2779 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - Option::Some(lifted2263) - } - _ => panic() - } - - let lifted2266 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2265 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(result2779) + } + _ => panic() + } - Option::Some(lifted2265) - } - _ => panic() - } - - let lifted2268 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2267 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2267) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2264, - max: lifted2266, - unit: lifted2268, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::U64Type(lifted2269) - } - 10 => { - let lifted2276 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2271 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2270 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{resource_name : lifted2780}) + } + 34 => { - Option::Some(lifted2270) - } - _ => panic() - } - - let lifted2273 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2272 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let lifted2781 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - Option::Some(lifted2272) - } - _ => panic() - } - - let lifted2275 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2274 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2274) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2271, - max: lifted2273, - unit: lifted2275, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F32Type(lifted2276) - } - 11 => { - let lifted2283 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2278 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2277 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - Option::Some(lifted2277) - } - _ => panic() - } - - let lifted2280 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2279 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + @types.SchemaTypeBody::FutureType(lifted2781) + } + 35 => { - Option::Some(lifted2279) - } - _ => panic() - } - - let lifted2282 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2281 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2281) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2278, - max: lifted2280, - unit: lifted2282, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::F64Type(lifted2283) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2298 : Array[@types.NamedFieldType] = [] - for index2299 = 0 - index2299 < mbt_ffi_load32(iter_base + 12) - index2299 = index2299 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2299 * 68 - - let result2284 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2286 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2285 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2285) - } - _ => panic() - } + let lifted2782 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array2288 : Array[String] = [] - for index2289 = 0 - index2289 < mbt_ffi_load32(iter_base + 28) - index2289 = index2289 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2289 * 8 + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - let result2287 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaTypeBody::StreamType(lifted2782) + } + _ => panic() + } - array2288.push(result2287) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) + let lifted2785 : String? = match mbt_ffi_load8_u((iter_base) + 88) { + 0 => Option::None + 1 => { - let array2291 : Array[String] = [] - for index2292 = 0 - index2292 < mbt_ffi_load32(iter_base + 36) - index2292 = index2292 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2292 * 8 + let result2784 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 92), mbt_ffi_load32((iter_base) + 96)) - let result2290 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2784) + } + _ => panic() + } - array2291.push(result2290) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2294 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2293 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2293) - } - _ => panic() - } + let array2787 : Array[String] = []; + for index2788 = 0; index2788 < (mbt_ffi_load32((iter_base) + 104)); index2788 = index2788 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 100)) + (index2788 * 8) - let lifted2297 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2296 = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2295 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) + let result2786 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - @types.Role::Other(result2295) - } - _ => panic() - } + array2787.push(result2786) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 100)) - Option::Some(lifted2296) - } - _ => panic() - } + let array2790 : Array[String] = []; + for index2791 = 0; index2791 < (mbt_ffi_load32((iter_base) + 112)); index2791 = index2791 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 108)) + (index2791 * 8) - array2298.push(@types.NamedFieldType::{ - name: result2284, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2286, - aliases: array2288, - examples: array2291, - deprecated: lifted2294, - role: lifted2297, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2298) - } - 15 => { - let array2315 : Array[@types.VariantCaseType] = [] - for index2316 = 0 - index2316 < mbt_ffi_load32(iter_base + 12) - index2316 = index2316 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2316 * 72 - - let result2300 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2301 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result2789 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - let lifted2303 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2302 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2302) - } - _ => panic() - } + array2790.push(result2789) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 108)) - let array2305 : Array[String] = [] - for index2306 = 0 - index2306 < mbt_ffi_load32(iter_base + 32) - index2306 = index2306 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2306 * 8 + let lifted2793 : String? = match mbt_ffi_load8_u((iter_base) + 116) { + 0 => Option::None + 1 => { - let result2304 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2792 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 120), mbt_ffi_load32((iter_base) + 124)) - array2305.push(result2304) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) + Option::Some(result2792) + } + _ => panic() + } - let array2308 : Array[String] = [] - for index2309 = 0 - index2309 < mbt_ffi_load32(iter_base + 40) - index2309 = index2309 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2309 * 8 + let lifted2796 : @types.Role? = match mbt_ffi_load8_u((iter_base) + 128) { + 0 => Option::None + 1 => { - let result2307 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let lifted2795 = match (mbt_ffi_load8_u((iter_base) + 132)) { + 0 => { - array2308.push(result2307) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2311 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2310 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2310) - } - _ => panic() - } + @types.Role::Multimodal + } + 1 => { - let lifted2314 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2313 = match - mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2312 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) + @types.Role::UnstructuredText + } + 2 => { - @types.Role::Other(result2312) - } - _ => panic() - } + @types.Role::UnstructuredBinary + } + 3 => { - Option::Some(lifted2313) - } - _ => panic() - } + let result2794 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 136), mbt_ffi_load32((iter_base) + 140)) - array2315.push(@types.VariantCaseType::{ - name: result2300, - payload: lifted2301, - metadata: @types.MetadataEnvelope::{ - doc: lifted2303, - aliases: array2305, - examples: array2308, - deprecated: lifted2311, - role: lifted2314, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2315) - } - 16 => { - let array2318 : Array[String] = [] - for index2319 = 0 - index2319 < mbt_ffi_load32(iter_base + 12) - index2319 = index2319 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2319 * 8 - - let result2317 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2318.push(result2317) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2318) - } - 17 => { - let array2321 : Array[String] = [] - for index2322 = 0 - index2322 < mbt_ffi_load32(iter_base + 12) - index2322 = index2322 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2322 * 8 - - let result2320 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2321.push(result2320) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2321) - } - 18 => { - let array2323 : Array[Int] = [] - for index2324 = 0 - index2324 < mbt_ffi_load32(iter_base + 12) - index2324 = index2324 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2324 * 4 - - array2323.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2323) - } - 19 => - @types.SchemaTypeBody::ListType( - mbt_ffi_load32(iter_base + 8), - ) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2325 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2326 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } - - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2325, - err: lifted2326, - }) - } - 24 => { - let lifted2330 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2328 : Array[String] = [] - for index2329 = 0 - index2329 < mbt_ffi_load32(iter_base + 16) - index2329 = index2329 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2329 * 8 - - let result2327 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2328.push(result2327) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2328) - } - _ => panic() - } - - let lifted2331 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2332 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2334 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2333 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2333) - } - _ => panic() - } - - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2330, - min_length: lifted2331, - max_length: lifted2332, - regex: lifted2334, - }) - } - 25 => { - let lifted2338 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2336 : Array[String] = [] - for index2337 = 0 - index2337 < mbt_ffi_load32(iter_base + 16) - index2337 = index2337 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2337 * 8 - - let result2335 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2336.push(result2335) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2336) - } - _ => panic() - } - - let lifted2339 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } - - let lifted2340 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } - - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2338, - min_bytes: lifted2339, - max_bytes: lifted2340, - }) - } - 26 => { - let lifted2344 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2342 : Array[String] = [] - for index2343 = 0 - index2343 < mbt_ffi_load32(iter_base + 20) - index2343 = index2343 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2343 * 8 - - let result2341 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2342.push(result2341) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2342) - } - _ => panic() - } - - let lifted2348 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2346 : Array[String] = [] - for index2347 = 0 - index2347 < mbt_ffi_load32(iter_base + 32) - index2347 = index2347 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2347 * 8 - - let result2345 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2346.push(result2345) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2346) - } - _ => panic() - } - - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from( - mbt_ffi_load8_u(iter_base + 9), - ), - allowed_mime_types: lifted2344, - allowed_extensions: lifted2348, - }) - } - 27 => { - let lifted2352 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2350 : Array[String] = [] - for index2351 = 0 - index2351 < mbt_ffi_load32(iter_base + 16) - index2351 = index2351 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2351 * 8 - - let result2349 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2350.push(result2349) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2350) - } - _ => panic() - } - - let lifted2356 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2354 : Array[String] = [] - for index2355 = 0 - index2355 < mbt_ffi_load32(iter_base + 28) - index2355 = index2355 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2355 * 8 - - let result2353 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2354.push(result2353) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2354) - } - _ => panic() - } - - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2352, - allowed_hosts: lifted2356, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2357 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2359 : Array[String] = [] - for index2360 = 0 - index2360 < mbt_ffi_load32(iter_base + 20) - index2360 = index2360 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2360 * 8 - - let result2358 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2359.push(result2358) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2362 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2361 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2361, - }) - } - _ => panic() - } - - let lifted2364 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2363 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2363, - }) - } - _ => panic() - } - - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2357, - allowed_suffixes: array2359, - min: lifted2362, - max: lifted2364, - }) - } - 31 => { - let array2388 : Array[@types.UnionBranch] = [] - for index2389 = 0 - index2389 < mbt_ffi_load32(iter_base + 12) - index2389 = index2389 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2389 * 92 - - let result2365 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2374 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2366 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2366) - } - 1 => { - let result2367 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2367) - } - 2 => { - let result2368 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2368) - } - 3 => { - let result2369 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2369) - } - 4 => { - let result2370 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2372 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2371 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) + @types.Role::Other(result2794) + } + _ => panic() + } - Option::Some(result2371) - } - _ => panic() - } - - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2370, - literal: lifted2372, - }) - } - 5 => { - let result2373 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2373) - } - _ => panic() - } + Option::Some(lifted2795) + } + _ => panic() + } - let lifted2376 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2375 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2375) - } - _ => panic() - } + array2797.push(@types.SchemaTypeNode::{body : lifted2783, metadata : @types.MetadataEnvelope::{doc : lifted2785, aliases : array2787, examples : array2790, deprecated : lifted2793, role : lifted2796}}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 44)) - let array2378 : Array[String] = [] - for index2379 = 0 - index2379 < mbt_ffi_load32(iter_base + 52) - index2379 = index2379 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2379 * 8 + let array2802 : Array[@types.SchemaTypeDef] = []; + for index2803 = 0; index2803 < (mbt_ffi_load32((iter_base) + 56)); index2803 = index2803 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 52)) + (index2803 * 24) - let result2377 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + let result2799 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 0), mbt_ffi_load32((iter_base) + 4)) - array2378.push(result2377) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) + let lifted2801 : String? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - let array2381 : Array[String] = [] - for index2382 = 0 - index2382 < mbt_ffi_load32(iter_base + 60) - index2382 = index2382 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2382 * 8 + let result2800 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 12), mbt_ffi_load32((iter_base) + 16)) - let result2380 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + Option::Some(result2800) + } + _ => panic() + } - array2381.push(result2380) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2384 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2383 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2383) - } - _ => panic() - } + array2802.push(@types.SchemaTypeDef::{id : result2799, name : lifted2801, body : mbt_ffi_load32((iter_base) + 20)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 52)) - let lifted2387 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2386 = match - mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2385 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) + let array2833 : Array[@types.SchemaValueNode] = []; + for index2834 = 0; index2834 < (mbt_ffi_load32((iter_base) + 68)); index2834 = index2834 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 64)) + (index2834 * 32) - @types.Role::Other(result2385) - } - _ => panic() - } + let lifted2832 = match (mbt_ffi_load8_u((iter_base) + 0)) { + 0 => { - Option::Some(lifted2386) - } - _ => panic() - } + @types.SchemaValueNode::BoolValue((mbt_ffi_load8_u((iter_base) + 8) != 0)) + } + 1 => { - array2388.push(@types.UnionBranch::{ - tag: result2365, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2374, - metadata: @types.MetadataEnvelope::{ - doc: lifted2376, - aliases: array2378, - examples: array2381, - deprecated: lifted2384, - role: lifted2387, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2388, - }) - } - 32 => { - let lifted2391 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2390 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2390) - } - _ => panic() - } - - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2391, - }) - } - 33 => { - let lifted2393 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2392 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2392) - } - _ => panic() - } - - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2393, - }) - } - 34 => { - let lifted2394 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::FutureType(lifted2394) - } - 35 => { - let lifted2395 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaTypeBody::StreamType(lifted2395) - } - _ => panic() - } + @types.SchemaValueNode::S8Value((mbt_ffi_load8((iter_base) + 8))) + } + 2 => { - let lifted2398 : String? = match - mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2397 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2397) - } - _ => panic() - } + @types.SchemaValueNode::S16Value((mbt_ffi_load16((iter_base) + 8))) + } + 3 => { - let array2400 : Array[String] = [] - for index2401 = 0 - index2401 < mbt_ffi_load32(iter_base + 104) - index2401 = index2401 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + - index2401 * 8 + @types.SchemaValueNode::S32Value(mbt_ffi_load32((iter_base) + 8)) + } + 4 => { - let result2399 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::S64Value(mbt_ffi_load64((iter_base) + 8)) + } + 5 => { - array2400.push(result2399) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) + @types.SchemaValueNode::U8Value((mbt_ffi_load8_u((iter_base) + 8)).to_byte()) + } + 6 => { - let array2403 : Array[String] = [] - for index2404 = 0 - index2404 < mbt_ffi_load32(iter_base + 112) - index2404 = index2404 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + - index2404 * 8 + @types.SchemaValueNode::U16Value((mbt_ffi_load16_u((iter_base) + 8).land(0xFFFF).reinterpret_as_uint())) + } + 7 => { - let result2402 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) + @types.SchemaValueNode::U32Value((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 8 => { - array2403.push(result2402) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2406 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2405 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2405) - } - _ => panic() - } + @types.SchemaValueNode::U64Value((mbt_ffi_load64((iter_base) + 8)).reinterpret_as_uint64()) + } + 9 => { - let lifted2409 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2408 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2407 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2407) - } - _ => panic() - } + @types.SchemaValueNode::F32Value(mbt_ffi_loadf32((iter_base) + 8)) + } + 10 => { - Option::Some(lifted2408) - } - _ => panic() - } + @types.SchemaValueNode::F64Value(mbt_ffi_loadf64((iter_base) + 8)) + } + 11 => { - array2410.push(@types.SchemaTypeNode::{ - body: lifted2396, - metadata: @types.MetadataEnvelope::{ - doc: lifted2398, - aliases: array2400, - examples: array2403, - deprecated: lifted2406, - role: lifted2409, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let array2415 : Array[@types.SchemaTypeDef] = [] - for index2416 = 0 - index2416 < mbt_ffi_load32(iter_base + 68) - index2416 = index2416 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index2416 * 24 - - let result2412 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2414 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2413 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2413) - } - _ => panic() - } + @types.SchemaValueNode::CharValue(Int::unsafe_to_char(mbt_ffi_load32((iter_base) + 8))) + } + 12 => { - array2415.push(@types.SchemaTypeDef::{ - id: result2412, - name: lifted2414, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - let array2446 : Array[@types.SchemaValueNode] = [] - for index2447 = 0 - index2447 < mbt_ffi_load32(iter_base + 80) - index2447 = index2447 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 76) + - index2447 * 32 - - let lifted2445 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value( - mbt_ffi_load8(iter_base + 8), - ) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2417 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2417) - } - 13 => { - let array2418 : Array[Int] = [] - for index2419 = 0 - index2419 < mbt_ffi_load32(iter_base + 12) - index2419 = index2419 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2419 * 4 - - array2418.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2418) - } - 14 => { - let lifted2420 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2420, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2421 : Array[Bool] = [] - for index2422 = 0 - index2422 < mbt_ffi_load32(iter_base + 12) - index2422 = index2422 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2422 * 1 - - array2421.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2421) - } - 17 => { - let array2423 : Array[Int] = [] - for index2424 = 0 - index2424 < mbt_ffi_load32(iter_base + 12) - index2424 = index2424 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2424 * 4 - - array2423.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2423) - } - 18 => { - let array2425 : Array[Int] = [] - for index2426 = 0 - index2426 < mbt_ffi_load32(iter_base + 12) - index2426 = index2426 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2426 * 4 - - array2425.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2425) - } - 19 => { - let array2427 : Array[Int] = [] - for index2428 = 0 - index2428 < mbt_ffi_load32(iter_base + 12) - index2428 = index2428 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2428 * 4 - - array2427.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2427) - } - 20 => { - let array2429 : Array[@types.MapEntry] = [] - for index2430 = 0 - index2430 < mbt_ffi_load32(iter_base + 12) - index2430 = index2430 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2430 * 8 - - array2429.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2429) - } - 21 => { - let lifted2431 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - @types.SchemaValueNode::OptionValue(lifted2431) - } - 22 => { - let lifted2434 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2432 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2432) - } - 1 => { - let lifted2433 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2433) - } - _ => panic() - } - - @types.SchemaValueNode::ResultValue(lifted2434) - } - 23 => { - let result2435 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2437 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2436 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2436) - } - _ => panic() - } - - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2435, - language: lifted2437, - }) - } - 24 => { - let result2438 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2440 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2439 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2439) - } - _ => panic() - } - - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2438, - mime_type: lifted2440, - }) - } - 25 => { - let result2441 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2441) - } - 26 => { - let result2442 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2442) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2443 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2443, - }) - } - 30 => { - let result2444 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2444, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken( - mbt_ffi_load32(iter_base + 8), - ), - ) - _ => panic() - } + let result2804 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - array2446.push(lifted2445) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 76)) - - let result2448 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 88), - mbt_ffi_load32(iter_base + 92), - ) - - let array2450 : Array[String] = [] - for index2451 = 0 - index2451 < mbt_ffi_load32(iter_base + 100) - index2451 = index2451 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 96) + index2451 * 8 - - let result2449 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2450.push(result2449) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 96)) - - let array2465 : Array[Array[SpanData]] = [] - for index2466 = 0 - index2466 < mbt_ffi_load32(iter_base + 108) - index2466 = index2466 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 104) + - index2466 * 8 - - let array2463 : Array[SpanData] = [] - for index2464 = 0 - index2464 < mbt_ffi_load32(iter_base + 4) - index2464 = index2464 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 0) + - index2464 * 80 - - let lifted2462 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2452 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2454 : String? = match - mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => { - let result2453 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - Option::Some(result2453) - } - _ => panic() - } + @types.SchemaValueNode::StringValue(result2804) + } + 13 => { - let lifted2455 : UInt64? = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } + let array2805 : Array[Int] = []; + for index2806 = 0; index2806 < (mbt_ffi_load32((iter_base) + 12)); index2806 = index2806 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2806 * 4) - let array2459 : Array[@context.Attribute] = [] - for index2460 = 0 - index2460 < mbt_ffi_load32(iter_base + 68) - index2460 = index2460 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + - index2460 * 20 - - let result2456 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2458 = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2457 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2457) - } - _ => panic() - } - - array2459.push(@context.Attribute::{ - key: result2456, - value: lifted2458, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - SpanData::LocalSpan(LocalSpanData::{ - span_id: result2452, - start: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent: lifted2454, - linked_context: lifted2455, - attributes: array2459, - inherited: mbt_ffi_load8_u(iter_base + 72) != 0, - }) - } - 1 => { - let result2461 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - SpanData::ExternalSpan(ExternalSpanData::{ - span_id: result2461, - }) - } - _ => panic() - } - - array2463.push(lifted2462) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 0)) - - array2465.push(array2463) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 104)) - - AgentInvocation::AgentMethodInvocation(AgentMethodInvocationParameters::{ - idempotency_key: result2212, - method_name: result2213, - function_input: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2410, - defs: array2415, - root: mbt_ffi_load32(iter_base + 72), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2446, - root: mbt_ffi_load32(iter_base + 84), - }, - }, - trace_id: result2448, - trace_states: array2450, - invocation_context: array2465, - }) - } - 2 => AgentInvocation::SaveSnapshot - 3 => { - let result2467 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let result2468 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - AgentInvocation::LoadSnapshot(LoadSnapshotParameters::{ - snapshot: SnapshotData::{ - data: result2467, - mime_type: result2468, - }, - }) - } - 4 => { - let result2469 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - AgentInvocation::ProcessOplogEntries(ProcessOplogEntriesParameters::{ - idempotency_key: result2469, - }) - } - 5 => - AgentInvocation::ManualUpdate(ManualUpdateParameters::{ - target_revision: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }) - _ => panic() - } + array2805.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - PublicOplogEntry::PendingAgentInvocation(PendingAgentInvocationParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - invocation: lifted2470, - }) - } - 15 => { - let lifted2473 = match mbt_ffi_load8_u(iter_base + 40) { - 0 => UpdateDescription::AutoUpdate - 1 => { - let result2471 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - let result2472 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - UpdateDescription::SnapshotBased(@host.Snapshot::{ - payload: result2471, - mime_type: result2472, - }) - } - _ => panic() - } + @types.SchemaValueNode::RecordValue(array2805) + } + 14 => { - PublicOplogEntry::PendingUpdate(PendingUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - description: lifted2473, - }) - } - 16 => { - let array2480 : Array[PluginInstallationDescription] = [] - for index2481 = 0 - index2481 < mbt_ffi_load32(iter_base + 52) - index2481 = index2481 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + index2481 * 48 - - let result2474 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - let result2475 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - let array2478 : Array[(String, String)] = [] - for index2479 = 0 - index2479 < mbt_ffi_load32(iter_base + 40) - index2479 = index2479 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + index2479 * 16 - - let result2476 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2477 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2478.push((result2476, result2477)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - array2480.push(PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 0).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 16), - plugin_name: result2474, - plugin_version: result2475, - parameters: array2478, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - PublicOplogEntry::SuccessfulUpdate(SuccessfulUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - new_component_size: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - new_active_plugins: array2480, - }) - } - 17 => { - let lifted2483 : String? = match mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2482 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2482) - } - _ => panic() - } + let lifted2807 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - PublicOplogEntry::FailedUpdate(FailedUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - target_revision: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - details: lifted2483, - }) - } - 18 => - PublicOplogEntry::GrowMemory(GrowMemoryParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - delta: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - 19 => - PublicOplogEntry::FilesystemStorageUsageUpdate(FilesystemStorageUsageUpdateParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - delta: mbt_ffi_load64(iter_base + 32), - }) - 20 => { - let result2484 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let result2485 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - PublicOplogEntry::CreateResource(CreateResourceParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - id: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - name: result2484, - owner: result2485, - }) - } - 21 => { - let result2486 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let result2487 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - PublicOplogEntry::DropResource(DropResourceParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - id: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - name: result2486, - owner: result2487, - }) - } - 22 => { - let result2488 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 36), - mbt_ffi_load32(iter_base + 40), - ) - - let result2489 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - PublicOplogEntry::Log(LogParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - level: LogLevel::from(mbt_ffi_load8_u(iter_base + 32)), - context: result2488, - message: result2489, - }) - } - 23 => - PublicOplogEntry::Restart(Timestamp::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - }) - 24 => { - let result2490 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let result2491 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - let array2494 : Array[(String, String)] = [] - for index2495 = 0 - index2495 < mbt_ffi_load32(iter_base + 72) - index2495 = index2495 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + index2495 * 16 - - let result2492 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2493 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2494.push((result2492, result2493)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - PublicOplogEntry::ActivatePlugin(ActivatePluginParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 48), - plugin_name: result2490, - plugin_version: result2491, - parameters: array2494, - }, - }) - } - 25 => { - let result2496 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let result2497 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - let array2500 : Array[(String, String)] = [] - for index2501 = 0 - index2501 < mbt_ffi_load32(iter_base + 72) - index2501 = index2501 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + index2501 * 16 - - let result2498 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2499 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2500.push((result2498, result2499)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - PublicOplogEntry::DeactivatePlugin(DeactivatePluginParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 48), - plugin_name: result2496, - plugin_version: result2497, - parameters: array2500, - }, - }) - } - 26 => - PublicOplogEntry::Revert(RevertParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - dropped_region: OplogRegion::{ - start: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - end: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }) - 27 => { - let result2502 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - PublicOplogEntry::CancelPendingInvocation(CancelPendingInvocationParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - idempotency_key: result2502, - }) - } - 28 => { - let result2503 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let lifted2505 : String? = match mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2504 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2504) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - let lifted2507 : String? = match mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let result2506 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 56), - mbt_ffi_load32(iter_base + 60), - ) - - Option::Some(result2506) - } - _ => panic() - } + @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{case : (mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint(), payload : lifted2807}) + } + 15 => { - let array2511 : Array[@context.Attribute] = [] - for index2512 = 0 - index2512 < mbt_ffi_load32(iter_base + 68) - index2512 = index2512 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + index2512 * 20 - - let result2508 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2510 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let result2509 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - @context.AttributeValue::String(result2509) - } - _ => panic() - } - - array2511.push(@context.Attribute::{ - key: result2508, - value: lifted2510, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - PublicOplogEntry::StartSpan(StartSpanParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - span_id: result2503, - parent: lifted2505, - linked_context_id: lifted2507, - attributes: array2511, - }) - } - 29 => { - let result2513 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - PublicOplogEntry::FinishSpan(FinishSpanParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - span_id: result2513, - }) - } - 30 => { - let result2514 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2515 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - let lifted2517 = match mbt_ffi_load8_u(iter_base + 48) { - 0 => { - let result2516 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - @context.AttributeValue::String(result2516) - } - _ => panic() - } + @types.SchemaValueNode::EnumValue((mbt_ffi_load32((iter_base) + 8)).reinterpret_as_uint()) + } + 16 => { - PublicOplogEntry::SetSpanAttribute(SetSpanAttributeParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - span_id: result2514, - key: result2515, - value: lifted2517, - }) - } - 31 => { - let result2518 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - PublicOplogEntry::BeginRemoteTransaction(BeginRemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - transaction_id: result2518, - }) - } - 32 => - PublicOplogEntry::PreCommitRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - 33 => - PublicOplogEntry::PreRollbackRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - 34 => - PublicOplogEntry::CommittedRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - 35 => - PublicOplogEntry::RolledBackRemoteTransaction(RemoteTransactionParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - begin_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - 36 => { - let result2519 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let result2520 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - PublicOplogEntry::Snapshot(SnapshotParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - data: SnapshotData::{ data: result2519, mime_type: result2520 }, - }) - } - 37 => { - let result2521 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 52), - mbt_ffi_load32(iter_base + 56), - ) - - let result2522 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - let array2525 : Array[(String, String)] = [] - for index2526 = 0 - index2526 < mbt_ffi_load32(iter_base + 72) - index2526 = index2526 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 68) + index2526 * 16 - - let result2523 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let result2524 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - array2525.push((result2523, result2524)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 68)) - - let result2527 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 96), - mbt_ffi_load32(iter_base + 100), - ) - - PublicOplogEntry::OplogProcessorCheckpoint(OplogProcessorCheckpointParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - plugin: PluginInstallationDescription::{ - environment_plugin_grant_id: EnvironmentPluginGrantId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - plugin_priority: mbt_ffi_load32(iter_base + 48), - plugin_name: result2521, - plugin_version: result2522, - parameters: array2525, - }, - target_agent_id: @types.AgentId::{ - component_id: @types.ComponentId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 80).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 88).reinterpret_as_uint64(), - }, - }, - agent_id: result2527, - }, - confirmed_up_to: mbt_ffi_load64(iter_base + 104).reinterpret_as_uint64(), - sending_up_to: mbt_ffi_load64(iter_base + 112).reinterpret_as_uint64(), - last_batch_start: mbt_ffi_load64(iter_base + 120).reinterpret_as_uint64(), - }) - } - 38 => { - let result2528 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - let array2560 : Array[@retry.PredicateNode] = [] - for index2561 = 0 - index2561 < mbt_ffi_load32(iter_base + 48) - index2561 = index2561 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index2561 * 32 - - let lifted2559 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2529 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2531 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2530 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2530) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array2808 : Array[Bool] = []; + for index2809 = 0; index2809 < (mbt_ffi_load32((iter_base) + 12)); index2809 = index2809 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2809 * 1) - @retry.PredicateNode::PropEq(@retry.PropertyComparison::{ - property_name: result2529, - value: lifted2531, - }) - } - 1 => { - let result2532 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2534 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2533 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2533) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array2808.push((mbt_ffi_load8_u((iter_base) + 0) != 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{ - property_name: result2532, - value: lifted2534, - }) - } - 2 => { - let result2535 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2537 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2536 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2536) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaValueNode::FlagsValue(array2808) + } + 17 => { - @retry.PredicateNode::PropGt(@retry.PropertyComparison::{ - property_name: result2535, - value: lifted2537, - }) - } - 3 => { - let result2538 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2540 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2539 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2539) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array2810 : Array[Int] = []; + for index2811 = 0; index2811 < (mbt_ffi_load32((iter_base) + 12)); index2811 = index2811 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2811 * 4) - @retry.PredicateNode::PropGte(@retry.PropertyComparison::{ - property_name: result2538, - value: lifted2540, - }) - } - 4 => { - let result2541 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2543 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2542 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2542) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array2810.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @retry.PredicateNode::PropLt(@retry.PropertyComparison::{ - property_name: result2541, - value: lifted2543, - }) - } - 5 => { - let result2544 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2546 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2545 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2545) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaValueNode::TupleValue(array2810) + } + 18 => { - @retry.PredicateNode::PropLte(@retry.PropertyComparison::{ - property_name: result2544, - value: lifted2546, - }) - } - 6 => { - let result2547 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateNode::PropExists(result2547) - } - 7 => { - let result2548 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2551 : Array[@retry.PredicateValue] = [] - for index2552 = 0 - index2552 < mbt_ffi_load32(iter_base + 20) - index2552 = index2552 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2552 * 16 - - let lifted2550 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2549 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateValue::Text(result2549) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 8), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - _ => panic() - } - - array2551.push(lifted2550) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{ - property_name: result2548, - values: array2551, - }) - } - 8 => { - let result2553 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2554 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{ - property_name: result2553, - pattern: result2554, - }) - } - 9 => { - let result2555 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2556 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{ - property_name: result2555, - pattern: result2556, - }) - } - 10 => { - let result2557 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2558 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropContains(@retry.PropertyPattern::{ - property_name: result2557, - pattern: result2558, - }) - } - 11 => - @retry.PredicateNode::PredAnd( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PredicateNode::PredOr( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PredicateNode::PredNot(mbt_ffi_load32(iter_base + 8)) - 14 => @retry.PredicateNode::PredTrue - 15 => @retry.PredicateNode::PredFalse - _ => panic() - } - - array2560.push(lifted2559) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array2596 : Array[@retry.PolicyNode] = [] - for index2597 = 0 - index2597 < mbt_ffi_load32(iter_base + 56) - index2597 = index2597 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 52) + index2597 * 32 - - let lifted2595 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @retry.PolicyNode::Periodic( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 1 => - @retry.PolicyNode::Exponential(@retry.ExponentialConfig::{ - base_delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - factor: mbt_ffi_loadf64(iter_base + 16), - }) - 2 => - @retry.PolicyNode::Fibonacci(@retry.FibonacciConfig::{ - first: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - second: mbt_ffi_load64(iter_base + 16).reinterpret_as_uint64(), - }) - 3 => @retry.PolicyNode::Immediate - 4 => @retry.PolicyNode::Never - 5 => - @retry.PolicyNode::CountBox(@retry.CountBoxConfig::{ - max_retries: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - inner: mbt_ffi_load32(iter_base + 12), - }) - 6 => - @retry.PolicyNode::TimeBox(@retry.TimeBoxConfig::{ - limit: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 16), - }) - 7 => - @retry.PolicyNode::ClampDelay(@retry.ClampConfig::{ - min_delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - max_delay: mbt_ffi_load64(iter_base + 16).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 24), - }) - 8 => - @retry.PolicyNode::AddDelay(@retry.AddDelayConfig::{ - delay: mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - inner: mbt_ffi_load32(iter_base + 16), - }) - 9 => - @retry.PolicyNode::Jitter(@retry.JitterConfig::{ - factor: mbt_ffi_loadf64(iter_base + 8), - inner: mbt_ffi_load32(iter_base + 16), - }) - 10 => { - let array2593 : Array[@retry.PredicateNode] = [] - for index2594 = 0 - index2594 < mbt_ffi_load32(iter_base + 12) - index2594 = index2594 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2594 * 32 - - let lifted2592 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2562 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2564 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2563 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2563) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array2812 : Array[Int] = []; + for index2813 = 0; index2813 < (mbt_ffi_load32((iter_base) + 12)); index2813 = index2813 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2813 * 4) - @retry.PredicateNode::PropEq(@retry.PropertyComparison::{ - property_name: result2562, - value: lifted2564, - }) - } - 1 => { - let result2565 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2567 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2566 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2566) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array2812.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @retry.PredicateNode::PropNeq(@retry.PropertyComparison::{ - property_name: result2565, - value: lifted2567, - }) - } - 2 => { - let result2568 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2570 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2569 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2569) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaValueNode::ListValue(array2812) + } + 19 => { - @retry.PredicateNode::PropGt(@retry.PropertyComparison::{ - property_name: result2568, - value: lifted2570, - }) - } - 3 => { - let result2571 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2573 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2572 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2572) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + let array2814 : Array[Int] = []; + for index2815 = 0; index2815 < (mbt_ffi_load32((iter_base) + 12)); index2815 = index2815 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2815 * 4) - @retry.PredicateNode::PropGte(@retry.PropertyComparison::{ - property_name: result2571, - value: lifted2573, - }) - } - 4 => { - let result2574 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2576 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2575 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2575) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + array2814.push(mbt_ffi_load32((iter_base) + 0)) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - @retry.PredicateNode::PropLt(@retry.PropertyComparison::{ - property_name: result2574, - value: lifted2576, - }) - } - 5 => { - let result2577 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2579 = match mbt_ffi_load8_u(iter_base + 16) { - 0 => { - let result2578 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 24), - mbt_ffi_load32(iter_base + 28), - ) - - @retry.PredicateValue::Text(result2578) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 24), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 24) != 0, - ) - _ => panic() - } + @types.SchemaValueNode::FixedListValue(array2814) + } + 20 => { - @retry.PredicateNode::PropLte(@retry.PropertyComparison::{ - property_name: result2577, - value: lifted2579, - }) - } - 6 => { - let result2580 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateNode::PropExists(result2580) - } - 7 => { - let result2581 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2584 : Array[@retry.PredicateValue] = [] - for index2585 = 0 - index2585 < mbt_ffi_load32(iter_base + 20) - index2585 = index2585 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2585 * 16 - - let lifted2583 = match - mbt_ffi_load8_u(iter_base + 0) { - 0 => { - let result2582 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @retry.PredicateValue::Text(result2582) - } - 1 => - @retry.PredicateValue::Integer( - mbt_ffi_load64(iter_base + 8), - ) - 2 => - @retry.PredicateValue::Boolean( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - _ => panic() - } - - array2584.push(lifted2583) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - @retry.PredicateNode::PropIn(@retry.PropertySetCheck::{ - property_name: result2581, - values: array2584, - }) - } - 8 => { - let result2586 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2587 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropMatches(@retry.PropertyPattern::{ - property_name: result2586, - pattern: result2587, - }) - } - 9 => { - let result2588 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2589 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropStartsWith(@retry.PropertyPattern::{ - property_name: result2588, - pattern: result2589, - }) - } - 10 => { - let result2590 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let result2591 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @retry.PredicateNode::PropContains(@retry.PropertyPattern::{ - property_name: result2590, - pattern: result2591, - }) - } - 11 => - @retry.PredicateNode::PredAnd( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PredicateNode::PredOr( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PredicateNode::PredNot( - mbt_ffi_load32(iter_base + 8), - ) - 14 => @retry.PredicateNode::PredTrue - 15 => @retry.PredicateNode::PredFalse - _ => panic() - } - - array2593.push(lifted2592) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @retry.PolicyNode::FilteredOn(@retry.FilteredConfig::{ - predicate: @retry.RetryPredicate::{ nodes: array2593 }, - inner: mbt_ffi_load32(iter_base + 16), - }) - } - 11 => - @retry.PolicyNode::AndThen( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 12 => - @retry.PolicyNode::PolicyUnion( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - 13 => - @retry.PolicyNode::PolicyIntersect( - ( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ), - ) - _ => panic() - } - - array2596.push(lifted2595) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 52)) - - PublicOplogEntry::SetRetryPolicy(SetRetryPolicyParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - policy: @retry.NamedRetryPolicy::{ - name: result2528, - priority: mbt_ffi_load32(iter_base + 40).reinterpret_as_uint(), - predicate: @retry.RetryPredicate::{ nodes: array2560 }, - policy: @retry.RetryPolicy::{ nodes: array2596 }, - }, - }) - } - 39 => { - let result2598 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 32), - mbt_ffi_load32(iter_base + 36), - ) - - PublicOplogEntry::RemoveRetryPolicy(RemoveRetryPolicyParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - name: result2598, - }) - } - 40 => { - let lifted2599 = match mbt_ffi_load8_u(iter_base + 32) { - 0 => - QueuedCardEvent::Install(QueuedCardEventInstall::{ - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 48).reinterpret_as_uint64(), - }, - }, - }) - 1 => - QueuedCardEvent::Revoke(QueuedCardEventRevoke::{ - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 48).reinterpret_as_uint64(), - }, - }, - }) - _ => panic() - } + let array2816 : Array[@types.MapEntry] = []; + for index2817 = 0; index2817 < (mbt_ffi_load32((iter_base) + 12)); index2817 = index2817 + 1 { + let iter_base = (mbt_ffi_load32((iter_base) + 8)) + (index2817 * 8) - PublicOplogEntry::CardEventQueued(CardEventQueuedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - event: lifted2599, - }) - } - 41 => { - let lifted2600 : UInt64? = match mbt_ffi_load8_u(iter_base + 32) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - ) - _ => panic() - } + array2816.push(@types.MapEntry::{key : mbt_ffi_load32((iter_base) + 0), value : mbt_ffi_load32((iter_base) + 4)}) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 8)) - PublicOplogEntry::CardInstalled(CardInstalledParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - queued_event_index: lifted2600, - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 48).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - }, - }, - }) - } - 42 => - PublicOplogEntry::CardInstallFailed(CardInstallFailedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - queued_event_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 48).reinterpret_as_uint64(), - }, - }, - reason: CardInstallFailure::from(mbt_ffi_load8_u(iter_base + 56)), - }) - 43 => - PublicOplogEntry::CardRevoked(CardRevokedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - queued_event_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 48).reinterpret_as_uint64(), - }, - }, - }) - 44 => - PublicOplogEntry::CardExpired(CardExpiredParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - card_id: @types.CardId::{ - uuid: @types.Uuid::{ - high_bits: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - low_bits: mbt_ffi_load64(iter_base + 40).reinterpret_as_uint64(), - }, - }, - }) - 45 => { - let array2797 : Array[@types.SchemaTypeNode] = [] - for index2798 = 0 - index2798 < mbt_ffi_load32(iter_base + 48) - index2798 = index2798 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 44) + index2798 * 144 - - let lifted2783 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaTypeBody::RefType(mbt_ffi_load32(iter_base + 8)) - 1 => @types.SchemaTypeBody::BoolType - 2 => { - let lifted2607 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2602 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2601 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2601) - } - _ => panic() - } - - let lifted2604 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2603 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2603) - } - _ => panic() - } - - let lifted2606 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2605 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2605) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2602, - max: lifted2604, - unit: lifted2606, - }) - } - _ => panic() - } + @types.SchemaValueNode::MapValue(array2816) + } + 21 => { - @types.SchemaTypeBody::S8Type(lifted2607) - } - 3 => { - let lifted2614 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2609 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2608 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2608) - } - _ => panic() - } - - let lifted2611 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2610 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2610) - } - _ => panic() - } - - let lifted2613 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2612 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2612) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2609, - max: lifted2611, - unit: lifted2613, - }) - } - _ => panic() - } + let lifted2818 : Int? = match mbt_ffi_load8_u((iter_base) + 8) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::S16Type(lifted2614) - } - 4 => { - let lifted2621 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2616 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2615 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2615) - } - _ => panic() - } - - let lifted2618 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2617 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2617) - } - _ => panic() - } - - let lifted2620 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2619 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2619) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2616, - max: lifted2618, - unit: lifted2620, - }) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 12)) + } + _ => panic() + } - @types.SchemaTypeBody::S32Type(lifted2621) - } - 5 => { - let lifted2628 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2623 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2622 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2622) - } - _ => panic() - } - - let lifted2625 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2624 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2624) - } - _ => panic() - } - - let lifted2627 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2626 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2626) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2623, - max: lifted2625, - unit: lifted2627, - }) - } - _ => panic() - } + @types.SchemaValueNode::OptionValue(lifted2818) + } + 22 => { - @types.SchemaTypeBody::S64Type(lifted2628) - } - 6 => { - let lifted2635 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2630 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2629 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2629) - } - _ => panic() - } - - let lifted2632 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2631 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2631) - } - _ => panic() - } - - let lifted2634 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2633 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2633) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2630, - max: lifted2632, - unit: lifted2634, - }) - } - _ => panic() - } + let lifted2821 = match (mbt_ffi_load8_u((iter_base) + 8)) { + 0 => { - @types.SchemaTypeBody::U8Type(lifted2635) - } - 7 => { - let lifted2642 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2637 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2636 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2636) - } - _ => panic() - } - - let lifted2639 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2638 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2638) - } - _ => panic() - } - - let lifted2641 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2640 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2640) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2637, - max: lifted2639, - unit: lifted2641, - }) - } - _ => panic() - } + let lifted2819 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::U16Type(lifted2642) - } - 8 => { - let lifted2649 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2644 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2643 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2643) - } - _ => panic() - } - - let lifted2646 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2645 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2645) - } - _ => panic() - } - - let lifted2648 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2647 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2647) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2644, - max: lifted2646, - unit: lifted2648, - }) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - @types.SchemaTypeBody::U32Type(lifted2649) - } - 9 => { - let lifted2656 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2651 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2650 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2650) - } - _ => panic() - } - - let lifted2653 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2652 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2652) - } - _ => panic() - } - - let lifted2655 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2654 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2654) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2651, - max: lifted2653, - unit: lifted2655, - }) - } - _ => panic() - } + @types.ResultValuePayload::OkValue(lifted2819) + } + 1 => { - @types.SchemaTypeBody::U64Type(lifted2656) - } - 10 => { - let lifted2663 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2658 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2657 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2657) - } - _ => panic() - } - - let lifted2660 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2659 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2659) - } - _ => panic() - } - - let lifted2662 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2661 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2661) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2658, - max: lifted2660, - unit: lifted2662, - }) - } - _ => panic() - } + let lifted2820 : Int? = match mbt_ffi_load8_u((iter_base) + 12) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::F32Type(lifted2663) - } - 11 => { - let lifted2670 : @types.NumericRestrictions? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let lifted2665 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let lifted2664 = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 32), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2664) - } - _ => panic() - } - - let lifted2667 : @types.NumericBound? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let lifted2666 = match - mbt_ffi_load8_u(iter_base + 48) { - 0 => - @types.NumericBound::Signed( - mbt_ffi_load64(iter_base + 56), - ) - 1 => - @types.NumericBound::Unsigned( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - 2 => - @types.NumericBound::FloatBits( - mbt_ffi_load64(iter_base + 56).reinterpret_as_uint64(), - ) - _ => panic() - } - - Option::Some(lifted2666) - } - _ => panic() - } - - let lifted2669 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2668 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2668) - } - _ => panic() - } - - Option::Some(@types.NumericRestrictions::{ - min: lifted2665, - max: lifted2667, - unit: lifted2669, - }) - } - _ => panic() - } + Option::Some(mbt_ffi_load32((iter_base) + 16)) + } + _ => panic() + } - @types.SchemaTypeBody::F64Type(lifted2670) - } - 12 => @types.SchemaTypeBody::CharType - 13 => @types.SchemaTypeBody::StringType - 14 => { - let array2685 : Array[@types.NamedFieldType] = [] - for index2686 = 0 - index2686 < mbt_ffi_load32(iter_base + 12) - index2686 = index2686 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2686 * 68 - - let result2671 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2673 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2672 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2672) - } - _ => panic() - } - - let array2675 : Array[String] = [] - for index2676 = 0 - index2676 < mbt_ffi_load32(iter_base + 28) - index2676 = index2676 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2676 * 8 - - let result2674 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2675.push(result2674) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - let array2678 : Array[String] = [] - for index2679 = 0 - index2679 < mbt_ffi_load32(iter_base + 36) - index2679 = index2679 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 32) + - index2679 * 8 - - let result2677 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2678.push(result2677) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 32)) - - let lifted2681 : String? = match - mbt_ffi_load8_u(iter_base + 40) { - 0 => Option::None - 1 => { - let result2680 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(result2680) - } - _ => panic() - } - - let lifted2684 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 52) { - 0 => Option::None - 1 => { - let lifted2683 = match mbt_ffi_load8_u(iter_base + 56) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2682 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 60), - mbt_ffi_load32(iter_base + 64), - ) - - @types.Role::Other(result2682) - } - _ => panic() - } + @types.ResultValuePayload::ErrValue(lifted2820) + } + _ => panic() + } - Option::Some(lifted2683) - } - _ => panic() - } - - array2685.push(@types.NamedFieldType::{ - name: result2671, - body: mbt_ffi_load32(iter_base + 8), - metadata: @types.MetadataEnvelope::{ - doc: lifted2673, - aliases: array2675, - examples: array2678, - deprecated: lifted2681, - role: lifted2684, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::RecordType(array2685) - } - 15 => { - let array2702 : Array[@types.VariantCaseType] = [] - for index2703 = 0 - index2703 < mbt_ffi_load32(iter_base + 12) - index2703 = index2703 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2703 * 72 - - let result2687 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2688 : Int? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } - - let lifted2690 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2689 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2689) - } - _ => panic() - } - - let array2692 : Array[String] = [] - for index2693 = 0 - index2693 < mbt_ffi_load32(iter_base + 32) - index2693 = index2693 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2693 * 8 - - let result2691 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2692.push(result2691) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - let array2695 : Array[String] = [] - for index2696 = 0 - index2696 < mbt_ffi_load32(iter_base + 40) - index2696 = index2696 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 36) + - index2696 * 8 - - let result2694 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2695.push(result2694) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 36)) - - let lifted2698 : String? = match - mbt_ffi_load8_u(iter_base + 44) { - 0 => Option::None - 1 => { - let result2697 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 48), - mbt_ffi_load32(iter_base + 52), - ) - - Option::Some(result2697) - } - _ => panic() - } - - let lifted2701 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let lifted2700 = match mbt_ffi_load8_u(iter_base + 60) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2699 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 64), - mbt_ffi_load32(iter_base + 68), - ) - - @types.Role::Other(result2699) - } - _ => panic() - } + @types.SchemaValueNode::ResultValue(lifted2821) + } + 23 => { - Option::Some(lifted2700) - } - _ => panic() - } - - array2702.push(@types.VariantCaseType::{ - name: result2687, - payload: lifted2688, - metadata: @types.MetadataEnvelope::{ - doc: lifted2690, - aliases: array2692, - examples: array2695, - deprecated: lifted2698, - role: lifted2701, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::VariantType(array2702) - } - 16 => { - let array2705 : Array[String] = [] - for index2706 = 0 - index2706 < mbt_ffi_load32(iter_base + 12) - index2706 = index2706 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2706 * 8 - - let result2704 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2705.push(result2704) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::EnumType(array2705) - } - 17 => { - let array2708 : Array[String] = [] - for index2709 = 0 - index2709 < mbt_ffi_load32(iter_base + 12) - index2709 = index2709 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2709 * 8 - - let result2707 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2708.push(result2707) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::FlagsType(array2708) - } - 18 => { - let array2710 : Array[Int] = [] - for index2711 = 0 - index2711 < mbt_ffi_load32(iter_base + 12) - index2711 = index2711 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2711 * 4 - - array2710.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::TupleType(array2710) - } - 19 => - @types.SchemaTypeBody::ListType(mbt_ffi_load32(iter_base + 8)) - 20 => - @types.SchemaTypeBody::FixedListType(@types.FixedListSpec::{ - element: mbt_ffi_load32(iter_base + 8), - length: mbt_ffi_load32(iter_base + 12).reinterpret_as_uint(), - }) - 21 => - @types.SchemaTypeBody::MapType(@types.MapSpec::{ - key: mbt_ffi_load32(iter_base + 8), - value: mbt_ffi_load32(iter_base + 12), - }) - 22 => - @types.SchemaTypeBody::OptionType( - mbt_ffi_load32(iter_base + 8), - ) - 23 => { - let lifted2712 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + let result2822 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - let lifted2713 : Int? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 20)) - _ => panic() - } + let lifted2824 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - @types.SchemaTypeBody::ResultType(@types.ResultSpec::{ - ok: lifted2712, - err: lifted2713, - }) - } - 24 => { - let lifted2717 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2715 : Array[String] = [] - for index2716 = 0 - index2716 < mbt_ffi_load32(iter_base + 16) - index2716 = index2716 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2716 * 8 - - let result2714 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2715.push(result2714) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2715) - } - _ => panic() - } + let result2823 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let lifted2718 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } + Option::Some(result2823) + } + _ => panic() + } - let lifted2719 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } + @types.SchemaValueNode::TextValue(@types.TextValuePayload::{text : result2822, language : lifted2824}) + } + 24 => { - let lifted2721 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2720 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2720) - } - _ => panic() - } + let result2825 = mbt_ffi_ptr2bytes(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.SchemaTypeBody::TextType(@types.TextRestrictions::{ - languages: lifted2717, - min_length: lifted2718, - max_length: lifted2719, - regex: lifted2721, - }) - } - 25 => { - let lifted2725 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2723 : Array[String] = [] - for index2724 = 0 - index2724 < mbt_ffi_load32(iter_base + 16) - index2724 = index2724 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2724 * 8 - - let result2722 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2723.push(result2722) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2723) - } - _ => panic() - } + let lifted2827 : String? = match mbt_ffi_load8_u((iter_base) + 16) { + 0 => Option::None + 1 => { - let lifted2726 : UInt? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - ) - _ => panic() - } + let result2826 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - let lifted2727 : UInt? = match - mbt_ffi_load8_u(iter_base + 28) { - 0 => Option::None - 1 => - Option::Some( - mbt_ffi_load32(iter_base + 32).reinterpret_as_uint(), - ) - _ => panic() - } + Option::Some(result2826) + } + _ => panic() + } - @types.SchemaTypeBody::BinaryType(@types.BinaryRestrictions::{ - mime_types: lifted2725, - min_bytes: lifted2726, - max_bytes: lifted2727, - }) - } - 26 => { - let lifted2731 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let array2729 : Array[String] = [] - for index2730 = 0 - index2730 < mbt_ffi_load32(iter_base + 20) - index2730 = index2730 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2730 * 8 - - let result2728 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2729.push(result2728) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - Option::Some(array2729) - } - _ => panic() - } + @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{bytes : result2825, mime_type : lifted2827}) + } + 25 => { - let lifted2735 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let array2733 : Array[String] = [] - for index2734 = 0 - index2734 < mbt_ffi_load32(iter_base + 32) - index2734 = index2734 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 28) + - index2734 * 8 - - let result2732 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2733.push(result2732) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 28)) - - Option::Some(array2733) - } - _ => panic() - } + let result2828 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.SchemaTypeBody::PathType(@types.PathSpec::{ - direction: @types.PathDirection::from( - mbt_ffi_load8_u(iter_base + 8), - ), - kind: @types.PathKind::from(mbt_ffi_load8_u(iter_base + 9)), - allowed_mime_types: lifted2731, - allowed_extensions: lifted2735, - }) - } - 27 => { - let lifted2739 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let array2737 : Array[String] = [] - for index2738 = 0 - index2738 < mbt_ffi_load32(iter_base + 16) - index2738 = index2738 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 12) + - index2738 * 8 - - let result2736 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2737.push(result2736) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 12)) - - Option::Some(array2737) - } - _ => panic() - } + @types.SchemaValueNode::PathValue(result2828) + } + 26 => { - let lifted2743 : Array[String]? = match - mbt_ffi_load8_u(iter_base + 20) { - 0 => Option::None - 1 => { - let array2741 : Array[String] = [] - for index2742 = 0 - index2742 < mbt_ffi_load32(iter_base + 28) - index2742 = index2742 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 24) + - index2742 * 8 - - let result2740 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2741.push(result2740) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 24)) - - Option::Some(array2741) - } - _ => panic() - } + let result2829 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.SchemaTypeBody::UrlType(@types.UrlRestrictions::{ - allowed_schemes: lifted2739, - allowed_hosts: lifted2743, - }) - } - 28 => @types.SchemaTypeBody::DatetimeType - 29 => @types.SchemaTypeBody::DurationType - 30 => { - let result2744 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let array2746 : Array[String] = [] - for index2747 = 0 - index2747 < mbt_ffi_load32(iter_base + 20) - index2747 = index2747 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 16) + - index2747 * 8 - - let result2745 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2746.push(result2745) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 16)) - - let lifted2749 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2748 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 44), - mbt_ffi_load32(iter_base + 48), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 32), - scale: mbt_ffi_load32(iter_base + 40), - unit: result2748, - }) - } - _ => panic() - } + @types.SchemaValueNode::UrlValue(result2829) + } + 27 => { - let lifted2751 : @types.QuantityValue? = match - mbt_ffi_load8_u(iter_base + 56) { - 0 => Option::None - 1 => { - let result2750 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 76), - mbt_ffi_load32(iter_base + 80), - ) - - Option::Some(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 64), - scale: mbt_ffi_load32(iter_base + 72), - unit: result2750, - }) - } - _ => panic() - } + @types.SchemaValueNode::DatetimeValue(@types.Datetime::{seconds : mbt_ffi_load64((iter_base) + 8), nanoseconds : (mbt_ffi_load32((iter_base) + 16)).reinterpret_as_uint()}) + } + 28 => { - @types.SchemaTypeBody::QuantityType(@types.QuantitySpec::{ - base_unit: result2744, - allowed_suffixes: array2746, - min: lifted2749, - max: lifted2751, - }) - } - 31 => { - let array2775 : Array[@types.UnionBranch] = [] - for index2776 = 0 - index2776 < mbt_ffi_load32(iter_base + 12) - index2776 = index2776 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2776 * 92 - - let result2752 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2761 = match mbt_ffi_load8_u(iter_base + 12) { - 0 => { - let result2753 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Prefix(result2753) - } - 1 => { - let result2754 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Suffix(result2754) - } - 2 => { - let result2755 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Contains(result2755) - } - 3 => { - let result2756 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::Regex(result2756) - } - 4 => { - let result2757 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - let lifted2759 : String? = match - mbt_ffi_load8_u(iter_base + 24) { - 0 => Option::None - 1 => { - let result2758 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 28), - mbt_ffi_load32(iter_base + 32), - ) - - Option::Some(result2758) - } - _ => panic() - } + @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{nanoseconds : mbt_ffi_load64((iter_base) + 8)}) + } + 29 => { - @types.DiscriminatorRule::FieldEquals(@types.FieldDiscriminator::{ - field_name: result2757, - literal: lifted2759, - }) - } - 5 => { - let result2760 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - @types.DiscriminatorRule::FieldAbsent(result2760) - } - _ => panic() - } - - let lifted2763 : String? = match - mbt_ffi_load8_u(iter_base + 36) { - 0 => Option::None - 1 => { - let result2762 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 40), - mbt_ffi_load32(iter_base + 44), - ) - - Option::Some(result2762) - } - _ => panic() - } - - let array2765 : Array[String] = [] - for index2766 = 0 - index2766 < mbt_ffi_load32(iter_base + 52) - index2766 = index2766 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 48) + - index2766 * 8 - - let result2764 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2765.push(result2764) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 48)) - - let array2768 : Array[String] = [] - for index2769 = 0 - index2769 < mbt_ffi_load32(iter_base + 60) - index2769 = index2769 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 56) + - index2769 * 8 - - let result2767 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2768.push(result2767) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 56)) - - let lifted2771 : String? = match - mbt_ffi_load8_u(iter_base + 64) { - 0 => Option::None - 1 => { - let result2770 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 68), - mbt_ffi_load32(iter_base + 72), - ) - - Option::Some(result2770) - } - _ => panic() - } - - let lifted2774 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 76) { - 0 => Option::None - 1 => { - let lifted2773 = match mbt_ffi_load8_u(iter_base + 80) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2772 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 84), - mbt_ffi_load32(iter_base + 88), - ) - - @types.Role::Other(result2772) - } - _ => panic() - } + let result2830 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 20), mbt_ffi_load32((iter_base) + 24)) - Option::Some(lifted2773) - } - _ => panic() - } - - array2775.push(@types.UnionBranch::{ - tag: result2752, - body: mbt_ffi_load32(iter_base + 8), - discriminator: lifted2761, - metadata: @types.MetadataEnvelope::{ - doc: lifted2763, - aliases: array2765, - examples: array2768, - deprecated: lifted2771, - role: lifted2774, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaTypeBody::UnionType(@types.UnionSpec::{ - branches: array2775, - }) - } - 32 => { - let lifted2778 : String? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => { - let result2777 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 16), - mbt_ffi_load32(iter_base + 20), - ) - - Option::Some(result2777) - } - _ => panic() - } + @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{mantissa : mbt_ffi_load64((iter_base) + 8), scale : mbt_ffi_load32((iter_base) + 16), unit : result2830}) + } + 30 => { - @types.SchemaTypeBody::SecretType(@types.SecretSpec::{ - inner: mbt_ffi_load32(iter_base + 8), - category: lifted2778, - }) - } - 33 => { - let lifted2780 : String? = match - mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2779 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2779) - } - _ => panic() - } + let result2831 = mbt_ffi_ptr2str(mbt_ffi_load32((iter_base) + 8), mbt_ffi_load32((iter_base) + 12)) - @types.SchemaTypeBody::QuotaTokenType(@types.QuotaTokenSpec::{ - resource_name: lifted2780, - }) - } - 34 => { - let lifted2781 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{tag : result2831, body : mbt_ffi_load32((iter_base) + 16)}) + } + 31 => { - @types.SchemaTypeBody::FutureType(lifted2781) - } - 35 => { - let lifted2782 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + @types.SchemaValueNode::SecretValue(@types.Secret::Secret(mbt_ffi_load32((iter_base) + 8))) + } + 32 => { - @types.SchemaTypeBody::StreamType(lifted2782) - } - _ => panic() - } - - let lifted2785 : String? = match mbt_ffi_load8_u(iter_base + 88) { - 0 => Option::None - 1 => { - let result2784 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 92), - mbt_ffi_load32(iter_base + 96), - ) - - Option::Some(result2784) - } - _ => panic() - } - - let array2787 : Array[String] = [] - for index2788 = 0 - index2788 < mbt_ffi_load32(iter_base + 104) - index2788 = index2788 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 100) + index2788 * 8 - - let result2786 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2787.push(result2786) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 100)) - - let array2790 : Array[String] = [] - for index2791 = 0 - index2791 < mbt_ffi_load32(iter_base + 112) - index2791 = index2791 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 108) + index2791 * 8 - - let result2789 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - array2790.push(result2789) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 108)) - - let lifted2793 : String? = match - mbt_ffi_load8_u(iter_base + 116) { - 0 => Option::None - 1 => { - let result2792 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 120), - mbt_ffi_load32(iter_base + 124), - ) - - Option::Some(result2792) - } - _ => panic() - } - - let lifted2796 : @types.Role? = match - mbt_ffi_load8_u(iter_base + 128) { - 0 => Option::None - 1 => { - let lifted2795 = match mbt_ffi_load8_u(iter_base + 132) { - 0 => @types.Role::Multimodal - 1 => @types.Role::UnstructuredText - 2 => @types.Role::UnstructuredBinary - 3 => { - let result2794 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 136), - mbt_ffi_load32(iter_base + 140), - ) - - @types.Role::Other(result2794) - } - _ => panic() - } + @types.SchemaValueNode::QuotaTokenHandle(@types.QuotaToken::QuotaToken(mbt_ffi_load32((iter_base) + 8))) + } + _ => panic() + } - Option::Some(lifted2795) - } - _ => panic() - } - - array2797.push(@types.SchemaTypeNode::{ - body: lifted2783, - metadata: @types.MetadataEnvelope::{ - doc: lifted2785, - aliases: array2787, - examples: array2790, - deprecated: lifted2793, - role: lifted2796, - }, - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 44)) - - let array2802 : Array[@types.SchemaTypeDef] = [] - for index2803 = 0 - index2803 < mbt_ffi_load32(iter_base + 56) - index2803 = index2803 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 52) + index2803 * 24 - - let result2799 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 0), - mbt_ffi_load32(iter_base + 4), - ) - - let lifted2801 : String? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => { - let result2800 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 12), - mbt_ffi_load32(iter_base + 16), - ) - - Option::Some(result2800) - } - _ => panic() - } - - array2802.push(@types.SchemaTypeDef::{ - id: result2799, - name: lifted2801, - body: mbt_ffi_load32(iter_base + 20), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 52)) - - let array2833 : Array[@types.SchemaValueNode] = [] - for index2834 = 0 - index2834 < mbt_ffi_load32(iter_base + 68) - index2834 = index2834 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 64) + index2834 * 32 - - let lifted2832 = match mbt_ffi_load8_u(iter_base + 0) { - 0 => - @types.SchemaValueNode::BoolValue( - mbt_ffi_load8_u(iter_base + 8) != 0, - ) - 1 => - @types.SchemaValueNode::S8Value(mbt_ffi_load8(iter_base + 8)) - 2 => - @types.SchemaValueNode::S16Value( - mbt_ffi_load16(iter_base + 8), - ) - 3 => - @types.SchemaValueNode::S32Value( - mbt_ffi_load32(iter_base + 8), - ) - 4 => - @types.SchemaValueNode::S64Value( - mbt_ffi_load64(iter_base + 8), - ) - 5 => - @types.SchemaValueNode::U8Value( - mbt_ffi_load8_u(iter_base + 8).to_byte(), - ) - 6 => - @types.SchemaValueNode::U16Value( - mbt_ffi_load16_u(iter_base + 8) - .land(0xFFFF) - .reinterpret_as_uint(), - ) - 7 => - @types.SchemaValueNode::U32Value( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 8 => - @types.SchemaValueNode::U64Value( - mbt_ffi_load64(iter_base + 8).reinterpret_as_uint64(), - ) - 9 => - @types.SchemaValueNode::F32Value( - mbt_ffi_loadf32(iter_base + 8), - ) - 10 => - @types.SchemaValueNode::F64Value( - mbt_ffi_loadf64(iter_base + 8), - ) - 11 => - @types.SchemaValueNode::CharValue( - Int::unsafe_to_char(mbt_ffi_load32(iter_base + 8)), - ) - 12 => { - let result2804 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::StringValue(result2804) - } - 13 => { - let array2805 : Array[Int] = [] - for index2806 = 0 - index2806 < mbt_ffi_load32(iter_base + 12) - index2806 = index2806 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2806 * 4 - - array2805.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::RecordValue(array2805) - } - 14 => { - let lifted2807 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } + array2833.push(lifted2832) + } + mbt_ffi_free(mbt_ffi_load32((iter_base) + 64)) - @types.SchemaValueNode::VariantValue(@types.VariantValuePayload::{ - case: mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - payload: lifted2807, - }) - } - 15 => - @types.SchemaValueNode::EnumValue( - mbt_ffi_load32(iter_base + 8).reinterpret_as_uint(), - ) - 16 => { - let array2808 : Array[Bool] = [] - for index2809 = 0 - index2809 < mbt_ffi_load32(iter_base + 12) - index2809 = index2809 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2809 * 1 - - array2808.push(mbt_ffi_load8_u(iter_base + 0) != 0) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FlagsValue(array2808) - } - 17 => { - let array2810 : Array[Int] = [] - for index2811 = 0 - index2811 < mbt_ffi_load32(iter_base + 12) - index2811 = index2811 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2811 * 4 - - array2810.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::TupleValue(array2810) - } - 18 => { - let array2812 : Array[Int] = [] - for index2813 = 0 - index2813 < mbt_ffi_load32(iter_base + 12) - index2813 = index2813 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2813 * 4 - - array2812.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::ListValue(array2812) - } - 19 => { - let array2814 : Array[Int] = [] - for index2815 = 0 - index2815 < mbt_ffi_load32(iter_base + 12) - index2815 = index2815 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2815 * 4 - - array2814.push(mbt_ffi_load32(iter_base + 0)) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::FixedListValue(array2814) - } - 20 => { - let array2816 : Array[@types.MapEntry] = [] - for index2817 = 0 - index2817 < mbt_ffi_load32(iter_base + 12) - index2817 = index2817 + 1 { - let iter_base = mbt_ffi_load32(iter_base + 8) + - index2817 * 8 - - array2816.push(@types.MapEntry::{ - key: mbt_ffi_load32(iter_base + 0), - value: mbt_ffi_load32(iter_base + 4), - }) - } - mbt_ffi_free(mbt_ffi_load32(iter_base + 8)) - - @types.SchemaValueNode::MapValue(array2816) - } - 21 => { - let lifted2818 : Int? = match mbt_ffi_load8_u(iter_base + 8) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 12)) - _ => panic() - } + PublicOplogEntry::HostStreamFrame(HostStreamFrameParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, parent_start_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64(), kind : HostStreamKind::from(mbt_ffi_load8_u((iter_base) + 40)), payload : @types.TypedSchemaValue::{graph : @types.SchemaGraph::{type_nodes : array2797, defs : array2802, root : mbt_ffi_load32((iter_base) + 60)}, value : @types.SchemaValueTree::{value_nodes : array2833, root : mbt_ffi_load32((iter_base) + 72)}}}) + } + 46 => { - @types.SchemaValueNode::OptionValue(lifted2818) - } - 22 => { - let lifted2821 = match mbt_ffi_load8_u(iter_base + 8) { - 0 => { - let lifted2819 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::OkValue(lifted2819) - } - 1 => { - let lifted2820 : Int? = match - mbt_ffi_load8_u(iter_base + 12) { - 0 => Option::None - 1 => Option::Some(mbt_ffi_load32(iter_base + 16)) - _ => panic() - } - - @types.ResultValuePayload::ErrValue(lifted2820) - } - _ => panic() - } + PublicOplogEntry::CompletionDiscarded(CompletionDiscardedParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + 47 => { - @types.SchemaValueNode::ResultValue(lifted2821) - } - 23 => { - let result2822 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2824 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2823 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2823) - } - _ => panic() - } + PublicOplogEntry::CompletionDelivered(CompletionDeliveredParameters::{timestamp : @system-clock.Instant::{seconds : mbt_ffi_load64((iter_base) + 16), nanoseconds : (mbt_ffi_load32((iter_base) + 24)).reinterpret_as_uint()}, start_index : (mbt_ffi_load64((iter_base) + 32)).reinterpret_as_uint64()}) + } + _ => panic() + } - @types.SchemaValueNode::TextValue(@types.TextValuePayload::{ - text: result2822, - language: lifted2824, - }) - } - 24 => { - let result2825 = mbt_ffi_ptr2bytes( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - let lifted2827 : String? = match - mbt_ffi_load8_u(iter_base + 16) { - 0 => Option::None - 1 => { - let result2826 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - Option::Some(result2826) - } - _ => panic() + array2836.push(((mbt_ffi_load64((iter_base) + 0)).reinterpret_as_uint64(), lifted2835)) } + mbt_ffi_free(mbt_ffi_load32((return_area) + 4)) - @types.SchemaValueNode::BinaryValue(@types.BinaryValuePayload::{ - bytes: result2825, - mime_type: lifted2827, - }) - } - 25 => { - let result2828 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::PathValue(result2828) - } - 26 => { - let result2829 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UrlValue(result2829) - } - 27 => - @types.SchemaValueNode::DatetimeValue(@types.Datetime::{ - seconds: mbt_ffi_load64(iter_base + 8), - nanoseconds: mbt_ffi_load32(iter_base + 16).reinterpret_as_uint(), - }) - 28 => - @types.SchemaValueNode::DurationValue(@types.DurationValuePayload::{ - nanoseconds: mbt_ffi_load64(iter_base + 8), - }) - 29 => { - let result2830 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 20), - mbt_ffi_load32(iter_base + 24), - ) - - @types.SchemaValueNode::QuantityValueNode(@types.QuantityValue::{ - mantissa: mbt_ffi_load64(iter_base + 8), - scale: mbt_ffi_load32(iter_base + 16), - unit: result2830, - }) - } - 30 => { - let result2831 = mbt_ffi_ptr2str( - mbt_ffi_load32(iter_base + 8), - mbt_ffi_load32(iter_base + 12), - ) - - @types.SchemaValueNode::UnionValue(@types.UnionValuePayload::{ - tag: result2831, - body: mbt_ffi_load32(iter_base + 16), - }) - } - 31 => - @types.SchemaValueNode::SecretValue( - @types.Secret::Secret(mbt_ffi_load32(iter_base + 8)), - ) - 32 => - @types.SchemaValueNode::QuotaTokenHandle( - @types.QuotaToken::QuotaToken(mbt_ffi_load32(iter_base + 8)), - ) - _ => panic() - } - - array2833.push(lifted2832) + Option::Some(array2836) } - mbt_ffi_free(mbt_ffi_load32(iter_base + 64)) - - PublicOplogEntry::HostStreamFrame(HostStreamFrameParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - parent_start_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - kind: HostStreamKind::from(mbt_ffi_load8_u(iter_base + 40)), - payload: @types.TypedSchemaValue::{ - graph: @types.SchemaGraph::{ - type_nodes: array2797, - defs: array2802, - root: mbt_ffi_load32(iter_base + 60), - }, - value: @types.SchemaValueTree::{ - value_nodes: array2833, - root: mbt_ffi_load32(iter_base + 72), - }, - }, - }) - } - 46 => - PublicOplogEntry::CompletionDiscarded(CompletionDiscardedParameters::{ - timestamp: @system-clock.Instant::{ - seconds: mbt_ffi_load64(iter_base + 16), - nanoseconds: mbt_ffi_load32(iter_base + 24).reinterpret_as_uint(), - }, - start_index: mbt_ffi_load64(iter_base + 32).reinterpret_as_uint64(), - }) - _ => panic() - } - - array2836.push( - (mbt_ffi_load64(iter_base + 0).reinterpret_as_uint64(), lifted2835), - ) + _ => panic() } - mbt_ffi_free(mbt_ffi_load32(return_area + 4)) - - Option::Some(array2836) - } - _ => panic() - } - let ret = lifted2838 - mbt_ffi_free(return_area) - return ret + let ret = lifted2838 + mbt_ffi_free(return_area) + return ret + } + diff --git a/sdks/moonbit/golem_sdk/wit/deps/golem-1.x/golem-oplog.wit b/sdks/moonbit/golem_sdk/wit/deps/golem-1.x/golem-oplog.wit index 28f7d9d514..0e192e7748 100644 --- a/sdks/moonbit/golem_sdk/wit/deps/golem-1.x/golem-oplog.wit +++ b/sdks/moonbit/golem_sdk/wit/deps/golem-1.x/golem-oplog.wit @@ -165,6 +165,15 @@ interface oplog { start-index: oplog-index, } + /// Parameters of a `completion-delivered` entry: the successful result of the durable host + /// call started at `start-index` was handed to the agent at this point in the recorded + /// execution. Replay may prepare the recorded host result earlier, but does not hand it to the + /// agent until this marker and prevents later oplog entries from advancing until that handoff. + record completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + record local-span-data { span-id: span-id, start: datetime, @@ -620,6 +629,11 @@ interface oplog { start-index: oplog-index, } + record raw-completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. record raw-host-stream-frame-parameters { @@ -844,7 +858,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(raw-completion-discarded-parameters) + completion-discarded(raw-completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(raw-completion-delivered-parameters) } variant public-oplog-entry { @@ -953,7 +970,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(completion-discarded-parameters) + completion-discarded(completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(completion-delivered-parameters) } /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads diff --git a/sdks/rust/golem-rust/wit/deps/golem-1.x/golem-oplog.wit b/sdks/rust/golem-rust/wit/deps/golem-1.x/golem-oplog.wit index 28f7d9d514..0e192e7748 100644 --- a/sdks/rust/golem-rust/wit/deps/golem-1.x/golem-oplog.wit +++ b/sdks/rust/golem-rust/wit/deps/golem-1.x/golem-oplog.wit @@ -165,6 +165,15 @@ interface oplog { start-index: oplog-index, } + /// Parameters of a `completion-delivered` entry: the successful result of the durable host + /// call started at `start-index` was handed to the agent at this point in the recorded + /// execution. Replay may prepare the recorded host result earlier, but does not hand it to the + /// agent until this marker and prevents later oplog entries from advancing until that handoff. + record completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + record local-span-data { span-id: span-id, start: datetime, @@ -620,6 +629,11 @@ interface oplog { start-index: oplog-index, } + record raw-completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. record raw-host-stream-frame-parameters { @@ -844,7 +858,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(raw-completion-discarded-parameters) + completion-discarded(raw-completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(raw-completion-delivered-parameters) } variant public-oplog-entry { @@ -953,7 +970,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(completion-discarded-parameters) + completion-discarded(completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(completion-delivered-parameters) } /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads diff --git a/sdks/scala/wit/deps/golem-1.x/golem-oplog.wit b/sdks/scala/wit/deps/golem-1.x/golem-oplog.wit index 28f7d9d514..0e192e7748 100644 --- a/sdks/scala/wit/deps/golem-1.x/golem-oplog.wit +++ b/sdks/scala/wit/deps/golem-1.x/golem-oplog.wit @@ -165,6 +165,15 @@ interface oplog { start-index: oplog-index, } + /// Parameters of a `completion-delivered` entry: the successful result of the durable host + /// call started at `start-index` was handed to the agent at this point in the recorded + /// execution. Replay may prepare the recorded host result earlier, but does not hand it to the + /// agent until this marker and prevents later oplog entries from advancing until that handoff. + record completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + record local-span-data { span-id: span-id, start: datetime, @@ -620,6 +629,11 @@ interface oplog { start-index: oplog-index, } + record raw-completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. record raw-host-stream-frame-parameters { @@ -844,7 +858,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(raw-completion-discarded-parameters) + completion-discarded(raw-completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(raw-completion-delivered-parameters) } variant public-oplog-entry { @@ -953,7 +970,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(completion-discarded-parameters) + completion-discarded(completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(completion-delivered-parameters) } /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads diff --git a/sdks/scala/wit/dts/golem_api_1_5_0_oplog.d.ts b/sdks/scala/wit/dts/golem_api_1_5_0_oplog.d.ts index 206c291637..e922baeefd 100644 --- a/sdks/scala/wit/dts/golem_api_1_5_0_oplog.d.ts +++ b/sdks/scala/wit/dts/golem_api_1_5_0_oplog.d.ts @@ -220,6 +220,16 @@ declare module 'golem:api/oplog@1.5.0' { timestamp: Datetime; startIndex: OplogIndex; }; + /** + * Parameters of a `completion-delivered` entry: the successful result of the durable host + * call started at `start-index` was handed to the agent at this point in the recorded + * execution. Replay may prepare the recorded host result earlier, but does not hand it to the + * agent until this marker and prevents later oplog entries from advancing until that handoff. + */ + export type CompletionDeliveredParameters = { + timestamp: Datetime; + startIndex: OplogIndex; + }; export type LocalSpanData = { spanId: SpanId; start: Datetime; @@ -710,6 +720,10 @@ declare module 'golem:api/oplog@1.5.0' { timestamp: Datetime; startIndex: OplogIndex; }; + export type RawCompletionDeliveredParameters = { + timestamp: Datetime; + startIndex: OplogIndex; + }; /** * Parameters for a host-stream-frame oplog entry, with the frame payload in raw * (possibly externally stored) form. @@ -1083,6 +1097,14 @@ declare module 'golem:api/oplog@1.5.0' { { tag: 'completion-discarded' val: RawCompletionDiscardedParameters + } | + /** + * The successful completion of the durable host call started by the matching `start` + * was delivered to the agent at this point in the recorded execution + */ + { + tag: 'completion-delivered' + val: RawCompletionDeliveredParameters }; export type PublicOplogEntry = /** The initial agent oplog entry */ @@ -1347,6 +1369,14 @@ declare module 'golem:api/oplog@1.5.0' { { tag: 'completion-discarded' val: CompletionDiscardedParameters + } | + /** + * The successful completion of the durable host call started by the matching `start` + * was delivered to the agent at this point in the recorded execution + */ + { + tag: 'completion-delivered' + val: CompletionDeliveredParameters }; export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; } diff --git a/sdks/ts/packages/golem-ts-sdk/types/golem_api_1_5_0_oplog.d.ts b/sdks/ts/packages/golem-ts-sdk/types/golem_api_1_5_0_oplog.d.ts index 206c291637..e922baeefd 100644 --- a/sdks/ts/packages/golem-ts-sdk/types/golem_api_1_5_0_oplog.d.ts +++ b/sdks/ts/packages/golem-ts-sdk/types/golem_api_1_5_0_oplog.d.ts @@ -220,6 +220,16 @@ declare module 'golem:api/oplog@1.5.0' { timestamp: Datetime; startIndex: OplogIndex; }; + /** + * Parameters of a `completion-delivered` entry: the successful result of the durable host + * call started at `start-index` was handed to the agent at this point in the recorded + * execution. Replay may prepare the recorded host result earlier, but does not hand it to the + * agent until this marker and prevents later oplog entries from advancing until that handoff. + */ + export type CompletionDeliveredParameters = { + timestamp: Datetime; + startIndex: OplogIndex; + }; export type LocalSpanData = { spanId: SpanId; start: Datetime; @@ -710,6 +720,10 @@ declare module 'golem:api/oplog@1.5.0' { timestamp: Datetime; startIndex: OplogIndex; }; + export type RawCompletionDeliveredParameters = { + timestamp: Datetime; + startIndex: OplogIndex; + }; /** * Parameters for a host-stream-frame oplog entry, with the frame payload in raw * (possibly externally stored) form. @@ -1083,6 +1097,14 @@ declare module 'golem:api/oplog@1.5.0' { { tag: 'completion-discarded' val: RawCompletionDiscardedParameters + } | + /** + * The successful completion of the durable host call started by the matching `start` + * was delivered to the agent at this point in the recorded execution + */ + { + tag: 'completion-delivered' + val: RawCompletionDeliveredParameters }; export type PublicOplogEntry = /** The initial agent oplog entry */ @@ -1347,6 +1369,14 @@ declare module 'golem:api/oplog@1.5.0' { { tag: 'completion-discarded' val: CompletionDiscardedParameters + } | + /** + * The successful completion of the durable host call started by the matching `start` + * was delivered to the agent at this point in the recorded execution + */ + { + tag: 'completion-delivered' + val: CompletionDeliveredParameters }; export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; } diff --git a/sdks/ts/wit/deps/golem-1.x/golem-oplog.wit b/sdks/ts/wit/deps/golem-1.x/golem-oplog.wit index 28f7d9d514..0e192e7748 100644 --- a/sdks/ts/wit/deps/golem-1.x/golem-oplog.wit +++ b/sdks/ts/wit/deps/golem-1.x/golem-oplog.wit @@ -165,6 +165,15 @@ interface oplog { start-index: oplog-index, } + /// Parameters of a `completion-delivered` entry: the successful result of the durable host + /// call started at `start-index` was handed to the agent at this point in the recorded + /// execution. Replay may prepare the recorded host result earlier, but does not hand it to the + /// agent until this marker and prevents later oplog entries from advancing until that handoff. + record completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + record local-span-data { span-id: span-id, start: datetime, @@ -620,6 +629,11 @@ interface oplog { start-index: oplog-index, } + record raw-completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. record raw-host-stream-frame-parameters { @@ -844,7 +858,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(raw-completion-discarded-parameters) + completion-discarded(raw-completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(raw-completion-delivered-parameters) } variant public-oplog-entry { @@ -953,7 +970,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(completion-discarded-parameters) + completion-discarded(completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(completion-delivered-parameters) } /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads diff --git a/wit/deps/golem-1.x/golem-oplog.wit b/wit/deps/golem-1.x/golem-oplog.wit index 28f7d9d514..0e192e7748 100644 --- a/wit/deps/golem-1.x/golem-oplog.wit +++ b/wit/deps/golem-1.x/golem-oplog.wit @@ -165,6 +165,15 @@ interface oplog { start-index: oplog-index, } + /// Parameters of a `completion-delivered` entry: the successful result of the durable host + /// call started at `start-index` was handed to the agent at this point in the recorded + /// execution. Replay may prepare the recorded host result earlier, but does not hand it to the + /// agent until this marker and prevents later oplog entries from advancing until that handoff. + record completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + record local-span-data { span-id: span-id, start: datetime, @@ -620,6 +629,11 @@ interface oplog { start-index: oplog-index, } + record raw-completion-delivered-parameters { + timestamp: datetime, + start-index: oplog-index, + } + /// Parameters for a host-stream-frame oplog entry, with the frame payload in raw /// (possibly externally stored) form. record raw-host-stream-frame-parameters { @@ -844,7 +858,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(raw-completion-discarded-parameters) + completion-discarded(raw-completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(raw-completion-delivered-parameters) } variant public-oplog-entry { @@ -953,7 +970,10 @@ interface oplog { /// The successful completion of the durable host call started by the matching `start` /// was persisted, but its response was never delivered to the agent (the agent dropped /// the completion future after the `end` was recorded) - completion-discarded(completion-discarded-parameters) + completion-discarded(completion-discarded-parameters), + /// The successful completion of the durable host call started by the matching `start` + /// was delivered to the agent at this point in the recorded execution + completion-delivered(completion-delivered-parameters) } /// Enriches raw oplog entries into public oplog entries by resolving oplog payloads From 15061b8051fd73fc3f07511d0d773fd0d39fb621 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 14:58:58 +0200 Subject: [PATCH 02/12] Fix P3 monotonic clock completion delivery Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/durable_host/p3/clocks.rs | 61 ++++++++++++++++--- 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/golem-worker-executor/src/durable_host/p3/clocks.rs b/golem-worker-executor/src/durable_host/p3/clocks.rs index c129e8bcde..c32930c626 100644 --- a/golem-worker-executor/src/durable_host/p3/clocks.rs +++ b/golem-worker-executor/src/durable_host/p3/clocks.rs @@ -14,7 +14,8 @@ use crate::durable_host::DurabilityHost; use crate::durable_host::concurrent::{ - CallHandle, NotCancellable, drain_queued_dropped_call_events, + CallHandle, Cancellable, DeferredCallReplayOutcome, NotCancellable, + drain_queued_dropped_call_events, }; use crate::durable_host::p3::{DurableP3, DurableP3View, run_read_access}; use crate::durable_host::suspendable_wait::{ @@ -170,18 +171,60 @@ impl monotonic_clock::HostWithStore for Du store: &Accessor, how_long: types::Duration, ) -> wasmtime::Result<()> { - let recorded_now = run_read_access::<_, _, Ctx, P3MonotonicClockNow, _, _>( + let mut handle = CallHandle::::start_access( store, + super::durable_worker_ctx::, HostRequestNoInput {}, DurableFunctionType::ReadLocal, - || async { - let nanos = current_monotonic_now::(store)?; - Ok(HostResponseMonotonicClockTimestamp { nanos }) - }, ) - .await? - .nanos; - let when = recorded_now.saturating_add(how_long); + .await + .map_err(wasmtime::Error::from)?; + + let (now, mut delivery) = if !handle.is_live() { + match handle + .replay_access_deferred(store, super::durable_worker_ctx::) + .await + .map_err(wasmtime::Error::from)? + { + DeferredCallReplayOutcome::Replayed(response, delivery) => (response, delivery), + DeferredCallReplayOutcome::Incomplete(live_handle) => { + handle = live_handle; + let nanos = current_monotonic_now::(store) + .map_err(|error| wasmtime::Error::from_anyhow(handle.trap(error)))?; + handle + .complete_access_deferred( + store, + super::durable_worker_ctx::, + HostResponseMonotonicClockTimestamp { nanos }, + None, + ) + .await + .map_err(wasmtime::Error::from)? + } + } + } else { + let nanos = current_monotonic_now::(store) + .map_err(|error| wasmtime::Error::from_anyhow(handle.trap(error)))?; + handle + .complete_access_deferred( + store, + super::durable_worker_ctx::, + HostResponseMonotonicClockTimestamp { nanos }, + None, + ) + .await + .map_err(wasmtime::Error::from)? + }; + if delivery.is_replay_discarded() { + std::future::pending::<()>().await; + } + delivery + .prepare_delivery() + .await + .map_err(wasmtime::Error::from)?; + delivery.delivered(); + + let when = now.nanos.saturating_add(how_long); run_read_access::<_, _, Ctx, P3MonotonicClockWaitFor, _, _>( store, From 33139ab9fa0b96329beedeaedb0b2a94625c7d4f Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 14:59:04 +0200 Subject: [PATCH 03/12] Update response body delivery marker test Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/durable_host/p3/http/response_body.rs | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/golem-worker-executor/src/durable_host/p3/http/response_body.rs b/golem-worker-executor/src/durable_host/p3/http/response_body.rs index 5a9e6216b2..b48b0351c7 100644 --- a/golem-worker-executor/src/durable_host/p3/http/response_body.rs +++ b/golem-worker-executor/src/durable_host/p3/http/response_body.rs @@ -1846,8 +1846,8 @@ mod tests { child_start } - /// A successful live transfer must deliver the chunk to the guest, consume the token as - /// delivered (no marker append), and advance the delivered-byte count by the chunk length. + /// A successful live transfer must deliver the chunk to the guest, record the child's + /// `CompletionDelivered` marker, and advance the delivered-byte count by the chunk length. #[test] #[timeout("10s")] async fn transfer_data_chunk_delivers_live_chunk_and_advances_bytes() { @@ -1881,9 +1881,23 @@ mod tests { } assert_eq!( oplog.entry_count(), - seeded_entries, - "a delivered chunk must not append a marker" + seeded_entries + 1, + "a delivered chunk must append exactly one marker" ); + let markers = oplog + .entries() + .into_iter() + .filter(|entry| matches!(entry, OplogEntry::CompletionDelivered { .. })) + .collect::>(); + match markers.as_slice() { + [OplogEntry::CompletionDelivered { start_index, .. }] => { + assert_eq!( + *start_index, child_start, + "the marker must reference the delivered child's Start" + ); + } + other => panic!("expected exactly one CompletionDelivered marker, got {other:?}"), + } } /// The vanished-demand-receiver regression at the unit level: the child's `End(Data)` is From c19873ea9dfc319e3a1a610d6993ba69e3e5fd0e Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 14:59:11 +0200 Subject: [PATCH 04/12] Expose completion markers in Scala oplog API Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/main/scala/golem/host/OplogApi.scala | 48 +++++++++++++++++-- .../main/scala/golem/host/js/OplogTypes.scala | 14 +++++- .../golem/host/OplogApiCompileSpec.scala | 8 +++- .../golem/host/OplogEntryRoundtripSpec.scala | 24 ++++++++++ 4 files changed, 87 insertions(+), 7 deletions(-) diff --git a/sdks/scala/core/js/src/main/scala/golem/host/OplogApi.scala b/sdks/scala/core/js/src/main/scala/golem/host/OplogApi.scala index 0f7a59643f..71326f8d60 100644 --- a/sdks/scala/core/js/src/main/scala/golem/host/OplogApi.scala +++ b/sdks/scala/core/js/src/main/scala/golem/host/OplogApi.scala @@ -91,6 +91,16 @@ object OplogApi { partial: Option[TypedSchemaValue] ) + final case class CompletionDiscardedParameters( + timestamp: ContextApi.DateTime, + startIndex: OplogIndex + ) + + final case class CompletionDeliveredParameters( + timestamp: ContextApi.DateTime, + startIndex: OplogIndex + ) + final case class LocalSpanData( spanId: String, start: ContextApi.DateTime, @@ -462,6 +472,12 @@ object OplogApi { final case class Cancelled(params: CancelledParameters) extends OplogEntry { def timestamp: ContextApi.DateTime = params.timestamp } + final case class CompletionDiscarded(params: CompletionDiscardedParameters) extends OplogEntry { + def timestamp: ContextApi.DateTime = params.timestamp + } + final case class CompletionDelivered(params: CompletionDeliveredParameters) extends OplogEntry { + def timestamp: ContextApi.DateTime = params.timestamp + } // --- Parsing --- @@ -470,10 +486,18 @@ object OplogApi { val tag = entry.tag def v = entry.asInstanceOf[JsPublicOplogEntryWithValue].value tag match { - case "create" => Create(parseCreateParameters(v.asInstanceOf[JsCreateParameters])) - case "start" => Start(parseStartParameters(v.asInstanceOf[JsStartParameters])) - case "end" => End(parseEndParameters(v.asInstanceOf[JsEndParameters])) - case "cancelled" => Cancelled(parseCancelledParameters(v.asInstanceOf[JsCancelledParameters])) + case "create" => Create(parseCreateParameters(v.asInstanceOf[JsCreateParameters])) + case "start" => Start(parseStartParameters(v.asInstanceOf[JsStartParameters])) + case "end" => End(parseEndParameters(v.asInstanceOf[JsEndParameters])) + case "cancelled" => Cancelled(parseCancelledParameters(v.asInstanceOf[JsCancelledParameters])) + case "completion-discarded" => + CompletionDiscarded( + parseCompletionDiscardedParameters(v.asInstanceOf[JsCompletionDiscardedParameters]) + ) + case "completion-delivered" => + CompletionDelivered( + parseCompletionDeliveredParameters(v.asInstanceOf[JsCompletionDeliveredParameters]) + ) case "host-call" | "imported-function-invoked" => HostCall(parseHostCallParameters(v.asInstanceOf[JsHostCallParameters])) case "agent-invocation-started" | "exported-function-invoked" => @@ -644,6 +668,22 @@ object OplogApi { partial = raw.partial.toOption.map(typedFromJs) ) + private def parseCompletionDiscardedParameters( + raw: JsCompletionDiscardedParameters + ): CompletionDiscardedParameters = + CompletionDiscardedParameters( + timestamp = parseDateTime(raw.timestamp), + startIndex = BigInt(raw.startIndex.toString) + ) + + private def parseCompletionDeliveredParameters( + raw: JsCompletionDeliveredParameters + ): CompletionDeliveredParameters = + CompletionDeliveredParameters( + timestamp = parseDateTime(raw.timestamp), + startIndex = BigInt(raw.startIndex.toString) + ) + private def parseSpanData(raw: JsSpanData): SpanData = raw.tag match { case "local-span" => diff --git a/sdks/scala/core/js/src/main/scala/golem/host/js/OplogTypes.scala b/sdks/scala/core/js/src/main/scala/golem/host/js/OplogTypes.scala index 1d339a734d..a1052ee822 100644 --- a/sdks/scala/core/js/src/main/scala/golem/host/js/OplogTypes.scala +++ b/sdks/scala/core/js/src/main/scala/golem/host/js/OplogTypes.scala @@ -80,7 +80,7 @@ sealed trait JsHostCallParameters extends js.Object { def durableFunctionType: JsWrappedFunctionType = js.native } -// --- Start / End / Cancelled durable host-call markers --- +// --- Durable host-call markers --- @js.native sealed trait JsStartParameters extends js.Object { @@ -108,6 +108,18 @@ sealed trait JsCancelledParameters extends js.Object { def partial: js.UndefOr[JsTypedSchemaValue] = js.native } +@js.native +sealed trait JsCompletionDiscardedParameters extends js.Object { + def timestamp: JsDatetime = js.native + def startIndex: js.BigInt = js.native +} + +@js.native +sealed trait JsCompletionDeliveredParameters extends js.Object { + def timestamp: JsDatetime = js.native + def startIndex: js.BigInt = js.native +} + // --- SpanData – tagged union --- @js.native diff --git a/sdks/scala/core/js/src/test/scala/golem/host/OplogApiCompileSpec.scala b/sdks/scala/core/js/src/test/scala/golem/host/OplogApiCompileSpec.scala index edd27bd6fe..c226025453 100644 --- a/sdks/scala/core/js/src/test/scala/golem/host/OplogApiCompileSpec.scala +++ b/sdks/scala/core/js/src/test/scala/golem/host/OplogApiCompileSpec.scala @@ -84,6 +84,8 @@ object OplogApiCompileSpec extends ZIOSpecDefault { case OplogEntry.Start(p) => s"start(${p.functionName})" case OplogEntry.End(p) => s"end(${p.startIndex})" case OplogEntry.Cancelled(p) => s"cancelled(${p.startIndex})" + case OplogEntry.CompletionDiscarded(p) => s"completion-discarded(${p.startIndex})" + case OplogEntry.CompletionDelivered(p) => s"completion-delivered(${p.startIndex})" case OplogEntry.HostCall(p) => s"import(${p.functionName})" case OplogEntry.AgentInvocationStarted(p) => s"export(${p.functionName})" case OplogEntry.AgentInvocationFinished(p) => s"completed(${p.consumedFuel})" @@ -193,6 +195,8 @@ object OplogApiCompileSpec extends ZIOSpecDefault { ), OplogEntry.End(EndParameters(ts, BigInt(4), Some(sampleTyped), forcedCommit = true)), OplogEntry.Cancelled(CancelledParameters(ts, BigInt(5), None)), + OplogEntry.CompletionDiscarded(CompletionDiscardedParameters(ts, BigInt(6))), + OplogEntry.CompletionDelivered(CompletionDeliveredParameters(ts, BigInt(7))), OplogEntry.AgentInvocationStarted( AgentInvocationStartedParameters( ts, @@ -222,9 +226,9 @@ object OplogApiCompileSpec extends ZIOSpecDefault { ) def spec = suite("OplogApiCompileSpec")( - test("all 41 OplogEntry variants constructed") { + test("all OplogEntry variants constructed") { val distinctTags = allEntries.map(describeEntry).map(_.takeWhile(_ != '(')).distinct - assertTrue(distinctTags.size >= 41) + assertTrue(distinctTags.size >= 43) }, test("exhaustive OplogEntry match compiles") { allEntries.foreach(e => Predef.assert(describeEntry(e).nonEmpty)) diff --git a/sdks/scala/core/js/src/test/scala/golem/host/OplogEntryRoundtripSpec.scala b/sdks/scala/core/js/src/test/scala/golem/host/OplogEntryRoundtripSpec.scala index c4820a5fb0..5116ecdecf 100644 --- a/sdks/scala/core/js/src/test/scala/golem/host/OplogEntryRoundtripSpec.scala +++ b/sdks/scala/core/js/src/test/scala/golem/host/OplogEntryRoundtripSpec.scala @@ -739,6 +739,30 @@ object OplogEntryRoundtripSpec extends ZIOSpecDefault { inv.asInstanceOf[AgentInvocation.ManualUpdate].componentRevision == BigInt(7) ) }, + test("CompletionDiscarded from dynamic") { + val raw = wrapEntry( + "completion-discarded", + js.Dynamic.literal(timestamp = ts(), startIndex = js.BigInt("42")) + ) + val parsed = OplogEntry.fromJs(raw) + assertTrue( + parsed.isInstanceOf[OplogEntry.CompletionDiscarded], + parsed.asInstanceOf[OplogEntry.CompletionDiscarded].params.startIndex == BigInt(42), + parsed.timestamp.seconds == BigInt(1700000000) + ) + }, + test("CompletionDelivered from dynamic") { + val raw = wrapEntry( + "completion-delivered", + js.Dynamic.literal(timestamp = ts(), startIndex = js.BigInt("43")) + ) + val parsed = OplogEntry.fromJs(raw) + assertTrue( + parsed.isInstanceOf[OplogEntry.CompletionDelivered], + parsed.asInstanceOf[OplogEntry.CompletionDelivered].params.startIndex == BigInt(43), + parsed.timestamp.seconds == BigInt(1700000000) + ) + }, // --- Edge cases --- test("unknown oplog entry tag throws") { From 6ae1ccf8dc03b4245600f16e524e31fd6bee5293 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 14:59:27 +0200 Subject: [PATCH 05/12] Rebuild OTLP exporter for completion markers Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- plugins/otlp-exporter.wasm | Bin 368153 -> 368553 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/otlp-exporter.wasm b/plugins/otlp-exporter.wasm index bda3fdf87d21b9f0c2d236206bd05aab21b68afe..fce589e95d9e6832282d5d3d254e4308bc690aa8 100644 GIT binary patch delta 24713 zcmb6?2V7J~^EbPDfHY4jQsoXCs3Yo0o&Sg;#KLDXj# zTh!RVim`X1M#&eA7~6l|dmP-M;rsqSf6KnzH#<8!Gdnx8yZ2nO-*eL;&*T@*`cq-h z=s@aAXQQWdJ}|_m-=KkG`i}Te3q*y!tLy(b4?0s#!a@B5iHfu-I?Rxli<01EWUtiyky+Xdm52 z>0>iv!~^z_Wy5nw<_};#yTLB8Ej)$q;;H-vOlNWIBD>5o_*p)eE#|+oH}Hx{d?8=N zllWG?jc@1o*$yuAh=E7o9!rCRa90}EyuyTdb_edlJ-7n*;T&YZMYsy**a>!=9c3Tc zOZGQ=&2rcqwv;d934A4A#S{5I>@9o8X7X8lHlM@i@_BqdpUS84={%0VXFu@|YzAM= z*YOQ}Blq(!8DKOyY~nxjz*42llyxn)nFj@zuTZq2{Y8F+OFk|9;m_2XEmFW`XYAov zU5xpv&IsoH(%&t6xZGK!)&v=K=GjN2s8%=FnKU#F;BKy9UZ_Ev2>1q8c?<4Tcl~3U zf}xg*AhvZ$hcky21csZ^`qlx?dDy_bMapP>(+Zi@tAx~yHuG5lVurN;>Jwsoq}T1o zNGH0xV#ok)|2c}P+ES#^vSwmztWM{okgba`LMbZ7>dbkBUg?mM-xCpfL|V|n1MWz1 z5hbNxx))8o8j-@`f;6MkR-e<8s3qYs#u&~iNSr~zYKSqMmLfXWf(xm$I(q~BBCY!} z+2gzlt25^fG?$~LrMX>3L59S;mUI4uqg4u}pZW@lDMvC$@$9(zc0pp^n;HAl24ZpGwhFE%m81J=K)jPudJMQr}Mc z(E-9z$IY^Hf~wNQ#W@fxjl+fzlDZE|15`}C6MwG=c+ne=)XdfP03}lIthu2F59z?B zC*YR4@n;5_#<&Q3-bqpRVCqL>;>D^rI>lrf~1-u(k7m0rDX1f)qG z`(va{`(33u`|VlsHfiF1Hx|1sb@TrAoGnX{Rvh=1Jkq@2X=~a-=gS{ps(MlRorUe<~1iQiD!8FxZ`1<#am+1}XMzRr;HHHqhQ+ax@B) zk96bg9XlWMgqT1d>Bzb9&b$9mG|S{@*3r9G=X-#UwBdX(_@ri>p8!N-M25S2@;OB_ zgSjrSY$F(Naxil9Zt1%WV+HL+px&srybN@x!F9@eOB0i-YvwfRSVpPR`L*Q;CJ(L2 z!AYA;fp+F($?1Zhx4}HYq$iR>8|h5mlyikVqaAhI@WR(LpiLK|h|nSzzoG#Tx){h{ zi!|?Y2<(;)(BEIArIcJs8&}4CO&7HzI(&o%Y z^!9mXbNU;8jo2u4z1Ea)ue^3anMKPVn;dpzDvUC_NZW3ek`7*XgYDA$$NrEaWjyzg zLbLRee85I;!F3eC$ha23cXhebZjW?jgOq`JGx{g^bC@TXikyT#PRH=G+?lzt~1 zW=i&V2f`9*_}zYFQzpFdl3v`c4XMP2I=ST^@A<1`FRA+rKPmm5eQtgBJtNf@yYEY7 zg)vz#ic4SIZv@Mw#rH2lrWEtwE1DX&vO}f!4_3eoDdC~NZ_+cBT{XxYzR<^zq08B( zNRJ*)re1n@GFLe4#5L*e%V6pE#|6bw$%<*#BJq*7XAM%{DPk$+;7Tka23?mTey>ZC zo%_3Au4L1G56MSi0aFC)A(eZQ%X)_g)mG& z;%QBXDZi-$beB?IdrK{zc|yDt^{g_im*zd|O&w=HtKzU-0}-mqwE0899`#2hNRsCM zF^+^*oK!D+mCF26usL<(pOZDl`q{+` z;>s?m-Cy;n*V%tr>-(|4tn|GItv)KOrt{@qT6F%zOD{Ms-Fc~S)&G?>PddKJ*Jy*P z&2#ewBCWb*?{HLI_00C_z-RycDO<1nZDDJP*A)px6Z$(}8veSbbmz6bl>9mrE=zY` ze@STX{8NR7_f3vMM*Fv9ymP#Xfmd_NP^gC4Z<#!+rkY z9GsO7d<-cJc99;=L(ZbhV6w7|y8mVwrIpu0usnkr(!d9amvdIY!0mS27XYeh5 zFh`vjSCna4G{z{*$;s->7v?ne!LU+6pmQ=DmCL$7ID;IyXHiH3xPwl`AOP;j6^cPQ zFx^p|WwNdxVR#JrJZ2c))CHVb?vi7^gCmPWFUZCV#o=3+hppV83T5NnpgkPHGfL?L zesF_PkcRKR2Oq98C*yo~@P;h>*&TdfHy(F~NFQxk3DJ?~7vsuw3@jbwU=Us{g$Y%q#&|u>)O-s9TXm%rxgec zOXMbAfZ%fKg36*=WE|smV3s$mfGl~s4>&S^ZKXAGWi=*()z#Q2v{IV9)ejo$eP3T! zoBJ5`<^?x$AL|&IG0c#JcUwV8*otW#!2=rxLTTU48iW@CAGJLG8*spN3p%~|mGo2% zm4OhrCyy@!MF6(S)5^j!2v~GarQFl#XWpzm8jSUfdQzJCPBDgLtAUiq89^`_cHze$ zLY|1Fg5i5e!Ii<#0ajslFvXW?c)L7!d#0)EB3&`*EshBzp}ST9UlMxx3Pk*FY*_(9 zi{?8tRY?fR7)S5?a=9HwzLM$;8LQUds~nA-AhPgC1(**@Pp#>z!!@^-2(1>5xfJk=y3C^tzwQx#J@PeDT zye34#OU$kbJ>Vy7TMO#K9-LW=N*8cWZK#c=+64DRdmcs4Y|=9YK?E$tJGJ4Q%@81O z2uJIXu5ZG@b-_rCpIa9?1f@|H}|IHH3`;cQi`9j6voc?a|HHSW)O)Ez2i5MBZ

OfroPa~-M-|1-57~YfmHEIIg{jJp?kB6#iaB~i(Gz265)&yb$*56WDXdr5KX^&3E zX8%IX@umtj$MJ152>P$o$c>wWFAK=fkd`F;FSJKrV@nnP=S74kT7m)gVrENt5^(#j zN}OU<-e`}0##UCuX_jSiYpC!0IWwVvR<$t^6>v>!_&ea%om{*m0`1Yu*xCxOwFpF8 zumhHU8{2h)3OMu|aKHxbXwv^K_h|=Blv%W~J09a6$6-$t^#5Qcoi^T8%zlr z*9OZF+gbIWZ!yCcM}i}nG@76xSTmBW#c^!g32NfJNHQQhaC0QI)h4SSI(3GzIOhw( z|KYYeJ_Y|G%TU{Y7JowxcWVvp7lbjfQyxZ{Fh&8)#BaU?AOB;g)itxEviJp-GP6;E z<&?jEjT8f$ljkz^OPc7>{N81Hta zwJ;suQf9oWa>m5W4yGWphbh>(jg#5MRL- >%b45ZdxYE|jyyyqeEiYT8*qFIZ~Y zT51lfs%T=g*OTj=%)+E@q#4^ZvfXG*N3=&*W26=5@<-6nvW5qdt!~gmUBjP@0zV#P z-i>2>(DJej*Y|+Fuo<0t!Xns*i9O*GtdPg_0tzxynrkHwY8z4D+*upUf@)GB)?b&a5)JBS^# zGyJOVD%vSzqGFxrV0zfJStN6Lcc)3Wyj$IXZFuoCwsvf1+F1u#qxC-LQC=tEf- zBnpq%a|D zmVj6OcA;YZFE4?)j_+0V4irX#hvUJ=h0&I$La>71G%j4KAjOQOwI{_im?fhgFHKP5o-{Lc0C{!IdOruQ9|LwBWvwNL_& zE(bGtXs-9c6Ma`$BNWu2!3uI#)CMi_?-fv-ZO=sW5*nEQN~le|>#`CSQ1)acG$>=W zFPpPN5xrrJ=GoJr9CK%S7PebO{zn!LSVik~7M@)N6dfxptxOiESE7ZRxHXZS!xW9g z^NHXLsdyt18WC*3YSrs&yqegu0|&1r7wJ7dT1^OK^jt$!ZO4c;#H&@9u!fweRJ^U0?F0bz1x~Qxtv)gn>K?V`A2g7E!3xHn!-Z!7Ui$e zkzyU+7^5@AIMb3~AWe(xBxnekSY<0zfQQ&~D^zrjS9xv{v|)4!7i}ee#N+X;Wc)5+ z_ifOl#Ir+cuOHOiOpE26t(`^qyO^K8QR%Bd^u2%>LXxg+(72fAoRneAaR_v`p(jmkyiMBM-B&#TD$31=G&QY7y=LylyAzokC$3Xq)w|20R8?Ret^#4FXlV4yXb4gQosLf^70nw3=8+G?ct5eyNBm16$s+`5`l-r+y z*H9u(>(5qW>21$*Fbin)`u#l2h6gw%ozDE8V2ccxLD_{2XhT`R1sM4C(RT_D!l%uJ_ee`y7+N78_!Z&meCnEev%E<=A})Zojo zi>z4bD`YhGV}~nHpXS-TE93)ei<)x|P5j(tYzBs1rT6O6_Bms`<0=`T_xS26ZL1_= zxlEelZ?Iz~S*{$Mo(Z);!o!*H6@iq#Mj-Ln`5N`QU7mCe-Y8o`;nWJ+j2=ay44By(MtjeX>ERc;!A+ z$)6#LnRj~t`zY={{{T8VY@4Hq)$EDU_KbEy9zsor;{~fquv!y zyi^uL7ZR*F3$q{7A{d87vS1|{(M?$}n7gT_KBgH#*yZX?njHL$94^`jqb&{E2t(6z z$iQyd;DgRDpruw(8ppi=H+r7?0?x20DRPf&S`oe8{i@Jt)P?ADO0=M!laQw5$j|u6aM+{R?I~fBc|ok&&ts;nC9Q4X=nL<)7 zM-sHxH|6i%0%Ihp@$VtQW-xN;53u|*{VNC0ij6DsY5y)Z{VyuVN;+8jS=5%bhRj7v zSR*S#4(4}@vRGYr?L3;!gcqsm5JYTyhBblRrXb3Tu@1BmI*_qy1=oO0ob`4;qfA$7 zVAIxLuv9pM8G_Y=vvN^Aivx$VlU3v%ir&`3OgrXIn?--vu|e$BWE|woym6Ql^T+uP ztOzc(r?(Prvu7P0c1%&*1#0b@I52mID>hY2sEXxG!C}6v0X|m>3#Z~XcN>I_i%@my zR1GFxDV(2*W&;b?`ujtvc`+4}?FmIAM=H#prWKG1wB~PdWF2Wh;6&LIrBnmk6=%-4 z#EAv7sna#Q+?l!a#Oa5z!{5xyYBXJ(S#gStzj0Fcl;+t1FIJN( zd;2g?noTa=#GxZDG}8Oi)xnq224BLJh?#~HU0FjMq&%-zo+BN8iBqAxD{jqlrV>p7&X01kI%tHbcu^rx#Ijo>{F^80^`pe7#i zXLTx{%6C94ZU!0Qd>4b;x)@loB=ctEPc$#d^85*9>tFLHc&-(UxA-FY{zN>kEy;pw zXm8Zhf_#5Ms|;ceflRqpqQu@1W3tZ;0jM$_MF6Yen6OV7HN9PeO#@iCmCM1%hgkW6 zOhaM-Tbk#0sJC`({SKDzcPMT88kypEoK|{#f-WX1J;6~XvZ+rn&BP)c9%#oUdNe%- zH@RXUD`6M>QmbQz!^(o`R0d#zHts;3`S~t&Jt{>JWn3~k1+#%Yo@Y&K>4LRbd*A#*CR zE)=Ugs>C)>Hn%bhg@y8=%Is(1lNV8da+swvr)!5d9L8$rzgG{ttln?Lt6{7< z{EjZw*;j;hSas@gq5Qr&+X*c80@km|D$)Vf-5RVrZ8c0BNJc%q1~X_?AsAni8R;l& zPfb=7=#1-BEn?y_*`qca2QV4u*I~n`71U)R)Sz-*W>!$HY{C7oWL*V`ys|FaBH$lv zV`eKTdunDa$bg15V$;ac+}DT=CXoa;W)msf+*mQ!yPB{;07vA(P1!PF$4}$a<}4Iz zH>WWyz+ugqFS%cXTafiS(wvOna(vR9r27UVT3FtE1!pn61*^u+p1@5lnTa-^%C%%| zSkgJnXhEaW#WoXfcOn*LF7C`KQC;QEOxfbu+L<+{?C;KOisQrs zit-qXm_Oi@FWHxD@&Ua0C2Pl~9>9<;gfI(xbzx1E>a|^1eKPjOp3Dc|ccF1T$G%-z zWg79quIzgYB75^p^zKHynuSBUu`1MlRX6qpwR_o(tzqwPV_PqpGTXZoRdbYe#RvcB z&b}sN*0~33Mva#Dpw%l2uk>Iowa&`I9JzT?7kCj;jwUAy*WJ#yhqIHxaj(i)XSxi2e~+sO7s zxqj>+3B#p7^QJAQa{bwQV&1v_tQBS61K7}9MfJlK1DP9P+dF{$K(A~=uc8Cla7~33 zDhVV6Zx1B3vDVK3^l=AQ92UdIkTyS#Vc(K+M}5PJ+cTznT_Tc|cVNqmu zI&Wvg8SOKj+`+=wk$c!-7b}4tJDDFj*Hw42FgofSpk!H?u#+b1TfDB6;?S^*N=vZ) zE-GzMGA~TnMXh$?9_7sm%u%u%SVN{P8^_3G2WR3TnFT4qB~`Mc5Ae+{a$H*Ore>K+ zT_DCO&(F2z6ZFicJj7zVm{Hd6VXZm2Hxc_;E#ld%{p=z*&-qg^H0J7bS0P@GIjDpH zi~mup+^8yUuez;L)Xr>MdFBvn;W+#**fEF?LsSBDcE0`T(55truC0%Px%z^(iE{o^H&fJNbdC{he;a5!ijTWwSd_iyFR}8<-B0d{o%FC`(OT1xX*lsdIUt$1{5~zknfT{@GL+Y_*aOy{ zcGjaGuyTz2yBUvECuQ9uHX{F`I=Pf5u=Hb6$=!0($K)wG&-zIX13XCs-{HaE3B^g- z^$CfRc3UbwWdWY)Clmn1>e)55kY-ND=%?g{W#T*nafzL;;_y*C)?eg(Pnj!_Lj2i} zyOkz?HdWh6DobxOkE`=%jm`YYMEHZE6*Y4!Lk+HJ4bGFXH|JAXYZ>br! z`Ga{BrA9{=s5Aspn>1Yd2m6`!*qT0P?TBd$pR*;Vxf;?k^gip@zfytUzM$#Uop3t3 z(xfC8n;EX*yccX*(etRZB4N;O4Vceh>1-BBHuhV}Sk6)0--vmOB09ru%*tlF$$%vO z$%fM9pkn`_A7MP4gek9>2fy%F8V>PeUW;E*wDkld{$dsR)R$?P@c`61zLE;*54D2B z?w4uQquCh~Uy=WF>?N9Cu?p;}mQ(Ynm*h?7sF}mGSJtpUy~5rv33ip1)1hg@SJc(v zSNUDh99>Fv4om)48@j8VI3#JMFtr4C(eyWUF$ddG#!_BuNDsYM3E>xBr{Qp4Z7}>f z6_k<5ey>?DkW17oht;OAXkrd+Tin6;95&AR(tEY5GQ`77Ecu27=ASrFd`4`g0ONql zWV$em-QUn^lY@)ium*LuoKvc;=0>2MS*tVCg)<#3I2%=nKzpM-9WYYp7tWN$+Rl6o zi~d6$rD;pkUpm8MburL~=xBpGh&3@}VVi%LpYt0Hz>h?G2}k|Ieli|ORj4J?l|~jn zuT{EGnq3mquIyVDS^4eG!l6_Pn0E)@7;bpWni@1>RYF_SCjAq9_m&p9nYi^Gs}c27 zBhXwVoP}A|H2P7-LiOk>oQ3Aa*kBc7JKDzB3b$x0-sC{r_znfO@teFS9I@wd%zKvM zI7JJGl|e^*U}mdu7_@MB6+FX+AK5L}OO}DA3u4EjiafUY9|c*d4wfnAo_I!oKMLgn z;OD{ecrt&{U%W!i<=V;Ia>!@3ML-HxOB@g8WYtWXb&A-5#M>EoAe|L{2fS3@#p+Ik z`TA$1tdb_249}GZx`&y2u0R*qh>eyrjF&1m4DYOs4Y7W&w)J~ff!)2B@eZ`qMlf!D zULnjcWqOkUbii9p@ba)o?j`tLrP$DpccyRy?RYu(3lG`xwN&bB&s&nk+iK4TR@Zck z)9H9=GWRrAvLd%MGATaH-xqkKO`jKvvp`zwz(>J<@UW8Q?hDK)!pnsusJjQ@%$bN) zr__VJiZ%q2$*14w&}9srd5wB(LJtq{W)WW6XRUf=*sRw!BZ|_GlX5+qP3Y^$m&2d9 z$B_@FUdlP~HSiQqJMjwePJZpgD+46UL zDSH10|18D>h;PM;6B|}x{Sw>@BZ~8i6@F2e9mrh3$&jrL+Q?Lg$Owjs+UACvYKaY# zaAR@mcs^b#&O26FrcF=fQbDfDun?Uv(#>uMLzaTbpiU&qY@tck)s6d2(3Fut4GO5c z21@s9$tKb51ZED%*VuwU|0G#pj7W+=H#UuI&>X^5q7+>%)H{ zV>il|+nzGH%W1yc3)qwc_?sV}L(bCI{=7LLCi`>xH6^Yr$s3SD-7d*XE9ypf{cDkz zQQt@uWMWq%PlP4%kRX~46dDZ+Bt|6Q%<{D99bSsN*E*TIf&{q=osNUWpyZyHnptgK zkU7@DuxN^+jXJt>ojdH4IJp$>;WACT-~Fdz0xrqVO7YtY31`airo`IfWmPh}mF1;q z!T+%=_rV%L+|^S<5on(u1KFG74&wf@+?y!AQkK`J!FiOUSrm^=%kg;1Zk6L*NyBRf z@#=JuOB>A!Z8STS(F`J|@pXB=4Sta~RN%`PF+I8tZGc5p;y=*y%}RVeWkV|S*_6H2 zvbaz(IqNZ`3LipQLKWVYvL{+rvnsztxLm67FC3_ra4n&X(3GM*HJbA(E2sFu1@Ya{8I`YeOD>+>LbrjE;CNCWkm zdJmF+Y`|aX3+$U5Zp!PB*YLh6iTDN9Xhv%F61z4df@b20W;~Qln~Sa6^JdtfIq`fZ z_Gzxwy=}|OT2dk5NLXw!~h_TaR31alNOx8s8yW@^r*K+`?uiI3WH zw_FMb5^+1*=QS^n#X9iXRM(~huS?mC4&0Ycb=P&EQOv?q9k{Yr#v;hdrDCNBt{nI@ zjo`FphJzw_aDg+~?Gb#evR73xk}G>qbnD*_zl-E0#dJM$#OO)PbJ0O&C-05qO_=lQ zg~}>mHqkYkXR>1_KAOWbIkpQQ0RHi+gP$~|26r$D^VAutZBiExK|zq{#-~D}JhK~V z00u;JM_KeB4I=H2?8&E)1AMh7Pj^|WMF5+X^x|Phl-51Hy{QGI&a94EwgV_}g)SLg1)B#i{w_-mA_2>6IXP;7P z47N8XwxDqU_jF#VI_u_86}r&?{ugbQg?~+xqyCwbYOCBeo`|qBTg-HVN??KIpMF80 zu`Y;ky^}=@pQHpg)4$=TNLFg(Lcfw2#JhmYy~QetZty*kzAaQ;ur(t2OySF9jKLtzkTjxg6ETUY>vwPAbiu^Jt=TT6x(B z9>QEKJ&_D=D43L8!#Itis#Nz(trNn$cQJ;J<|U-%9qb7rFKQL$*}r0)(R{z_PAwvw z3)E`%Nm)OJ*ZOZH;GnU*Ki%TEIF{dLv(Ms=@AxRU{RIPB5?q~eyt#jx`XZ370t(tm zqs)PJ(sJ!>8m=5ib3YBQYgvi!Y3`?Ct?&8QpGCOidtQ~^KmML3W18$do-eT@`?-D+ z?@k$;%)f;Ba<|ER2BUqj2UBUTr_0r+aSu9PkXujZy@balm6#yr6$p7mT*8C1xTj-W zq9RXPrdP?gX7L|bNOm49bD{9UvP4`|z{r~q|sXx3z7 zpLu+qvxbL$iK>8om`6lrW9RuioU%Fd$?|98(fPF4Q=c{nF`ugJc+B8kxzv;e?kD#XK z*708{Te4ooeri46Po-%aR66!-Q0b_#k%!R?9kh|tK2$c&+(heRHg4Udwz##4AE(mV zpLu+`=DIHa$u0 zgb*zY$i=Rs%XLLbpUA9#1Pa(K8im8R@~RdR1g34EnC9qK-jlGHw$U=5jXk!}Dv`aR zY%*8YjB+Xb$IsKXCxsLx8}Fy^@H_w;)`e{6^9bO;cHVb=K;Z5fp+?j;#zW2?QY{C?Q0PRf7ws`9J6k9XzHlg74e;3lH+`p7z5= zgjA~$R!eSvnI9}B+dt+F6t`TblbgNb_X70FqYle>h~;G3k9vsm&=Q|}i0=)P#Oor87~olqGsDqm<>Ze8gr(=hCkJBA{6N`UagJ zRhOW|D6N(2`-}U6Zr}$7iu*93f3QLKJ*63xmQq?zX$PevlrB=bP3b+QBIOM_4@x_# z8FU9JouYJ!(j7`KDIE?q=uS{NOX&h7b7h0hiBftcgYGJo=aw|+R#4hT=`f`XN_R^d zCg@($gI$0@=SImyDV$OxN^L29Md@2g(7*(Ybouflt$?~rQa#Np;Xjl(3PfC+2lrr>IPj?Ds-UKol-aSEF-?AxN1Tf;SY=D z)jk5mN zcx3f%Bl@-IP_yrlubN?-iefme)dwpIU#9}~4dqfHqQA4#z$%f|hmPs;?bxAxuy=D& zK|WMVTmzfxHFd;Pn+g@KS6xxX7H(<1&%j})`eLa~>woHtE!GusN&`{S29x|-L(#*w z#@t8**wo-Rjm2$iG}x($NU*7R*F>}_$jBZx5ausLFy3z}YS`44X(nphw2NsbrrAIc z1H90!Ieq-30Q>sdR8(mxeCb|;xL{MOHoo0LG`FcG*ef;_#an%fz66eGC7RfPseRmO zC3f0Sys9;US?kcB+e8_3ZzD?BG!AbgS{DSXfZul&E_kessAL2CzKv*VQ$aoZVA40j z5r?-GpA6gw|7k0R6l~y&bK8lLpVr>oD4elcdl6;xDlvlCocxt=!nF1x%;wd{_F|Gv z#q17Zv`qyyE{&lPqJP2K_cj%qB1Ksn7SL?7Q4*Py=6Gd@6@tIc@u=SUsOF>)}@Y9}yMVvfY@r2z7)f z4(TrHS{oU8M|V*J$Yee1L6*xJGv>=RxR+?{kVMvu@N}gg>xe3t)Qk9UWvpbkDACEL zy*#qFphIRW$}nQ1@W&0&Wag}E&qj+hn+i+ENuSon_9>uH`9iMJmn`A}bm}L@+7LFU zpAfcWD3ei^`wOQ}s(tYB0P)zmTlw18g4@D99w<&)gW%p6an7c~Lez_bwZ3>{kSJ+W zt6FK#!Q!}WCkl#PL&aC0)cT_LUQq&94im3F#q;ZMk-)60<>8~m0B&7__rDdltSjU* zV?`yKZe;zqf{TXvdvV0N5xR~SNhPhMSWxRKg;kZWjW3AC<43X28jXDYNAVv9)$zwp zq7)h@iQ@bijK+HB#R$DiFh%syhgCldT`}}m(OGt#s&o-5LmcgmJ5_lIwUt%5%gCCTGMx;U zp{H;_*O|gjj+`m}a{A1STTCXafRR?`?9_s_Wsxkz51-bONonTZRrLi%H6B?2l`rmn zASyU6VPiD1s%d2X887PjTg|ViDpdyz9n^1d)W|+x_Zu9&l->ohhIa*fuToe{@p~GN zv_h;HmeQE8Tztb<77CQRswAusgXqAd$V#!MunrR${R()c81XM1Iy7xmB_e7yo1u(0 z7+0?nA=a9x5~aWlj9SBf#uXiCoP82SwX#-(7u4~!Y^&zJfj(zYW9<~1vV3s;NQeuXrnz30`U-zOw1YiAX@0(E$e_~z4>-Pa0t+K?Z% zR;()w_a>~ePRybEO^4PMt}L5bD)!zWx}(@2>KBG_3-;O|j#MdRJV~scWky&*DN96o zzLkB8DV;^71Q;>EYI<(RTfR4+K!Dqx>Y!mF@ulUaj*>DC`lZ4yO!3hS-f zlLCD!I_ur2S=4sc^t0`M7F9h{S^Lkv+eoUh^Jign+`+ml09{5l!YVDuh#R|+zP$fg z_!g$uI~m;){p?s1H;drH#=48O`Yb&^(<MfiBitnp_7lx4c#7U9NsvvL0_2yzjN z;_q98GvC7!{)NImNuoqyW82G;{-q_~DuN0d+ddZYFQoh7*sUTE_T#dxqL=3ZR_AkY zs&`**8!aaX*{FXRqUswvy3`ynV(7O~Lx=Qh6cKd@w{4>^q<{%;RoD>I*viiiu_7K% z7T$%mJp6ge6iu`t>Ie=`5zPut{s{Xjp;1TKB#ymai<)xec2OA$Gw;Xf8>)EswFr^V zrjkck*yKJg8+VekT^I-*&g~M>g?4y?KGmwwR#E<9x2Reuwv(8+hn!(+JE7VF@`QZ& zDYgY091*o}RTI$+ckUH#g)#M4wk97ss77?(G0{W%^s})u1ZB4 zH^LP^o}`1UTl8B8)w7H{CEVFYT0_;*cQ}BBrMc zSGzF!%6^>sCI6vW@wT|2HvtViCrZ;D=DFuYFdZE4J|~*e-sFdKq7GeR zseN8d=l@|}Y9lL>PVV+!tc5~^j}>Pk(uD_q$(m||nw?I@^c8MPr>1|i$qE}ouz!a5 zlD}qi5$=eFi!X@wbWN?p1u>s~8FKf6m`j&khFugt@wWs~?13<2<|WYpKi;S1^&Oj? zSJj3-!8{u0+z};lLMF+j!)4Kij&YY?7EL`q+J0C%miMLT6Ne2Uk6mE{zPLgWeB&#^ z!+s(UAq{AZ3(nGtI_3(EX%eSz_nZ~pxb}(&u$#<>eA2Y3{S;n9Yjs0Z)`vE#9yJw* zUKOJpr}43hK6M!xip8#ra4eNcoSTkOnPPg8I6gspr@X3$%Q8hH`)ULFjhev+;L6K1 ziW%2LOFolFW3gBfiF5A?d#913MpO!~8Xi82_fcwlIVhzXv-#IbaMA@||3>;S2OX}9 zZ(%ORUKdjx=kXu3UaBbF^ui9;gqPEN+Tbo&>+TpHJu-?qSis9^EP&V=)era8Q<* zZWms?8Xaul&@8eu<$o6y=|kl$G~n^Si!wZ!57tUUdWZ`6@|g&5O0kkz!(bXhrzfHz zece14$*CuzqGKxmP7_vDR6%M!CAf^IA`I6(r9O6Afc4L)w2MnPB#V?X=9%b4A4t#b z|M@dfM(+EEm|BY`c+HfbmDOiCVNz9nu@K95-)%k;Z)g4eck!aPE_&o(7ai#EV-3BZ zY+p@3GMFsb2!`49_1LvQ`cZ&on-ulcYIEJg<-8{0ca_vtfq^pH^@1Bdh< zn#k<>3?0&c;DFU+6zH?|TP5hF)wAGjw3 zefy1F&+L`Y-4E3tYA8O1B?L2ydL{*VNPzKvmt?RC$JbX z%zaqO=O|3IP`JaE!lZl(x8_rrY(-({i0?EKx8;$zlj(LbCj;o{kZ5S1ej`VM4nSu5 zYh^*F`$>NCmA+|ld^bw(@9{ag+`>x4VYrPgN9&)`aZ&X#`Y3nDw?=*ubl#)B3&G^6 h`V#WanfmgEGNndDe;e|-|0uvpVQ$N}mg?*9{{ufIQ0V{w delta 24611 zcmb{a2Uu0d^EeLQ+1*P=u7Y&rf(=9jEGYJ4?}}Z6A=oAMXkv^7yNSe-8yyQOXjD{G z5cOa$u}2Y06l24#u}6(v|8vf{7q~|Ge1GrrK0M2wowGYTJ3BiwJG`S6Uud7fBZhy^bz8x~8+4dHP4AxBv3ye( z_IOj~;>a1rgsnZdF;#3FZ5r2jDcGC*n#?MmdSb86alB5-JFew9rkzdNz@H|kruB=T zXHLE1dJc#k-Y0J0z#+YK?@c|L8l$hX8|*PWgbn-#%w`wZX||T9^UZuCe+1LmbaslJ zVJG=-c(}!LPAQzJ*5**auhH9@qtWrtGF6<7J))SK%6* zh3k+FC*d@lgX8QV+t2o~_v|Tq&i-XD*h{v6FXW5(626ot^H=OOd&7R@Kk*qnk^jtR z@>zT`pTei|Y5Xml!{4##Jca+pSMpWd*RPbnF~BaBujYZJ%akowto#}t6kH+1rK0U= zzK@$mHS>exne&=ufb+V9y$QN_>7338Qktn_ix}tJxhf>csFU9AHSKJ15q995H{ezb zq(rT90M$K)?Jh9|cKX8}1woYB{&LGwK|A&;?F|pSdQKqx@-p+vtkZfT`-rY%ZF~NQE^kw(cHfrH%~E@NuVB?V z=41b#lp3Oa?JSgz!(KB^3d#%PQ;WGj6+ zfg_a+@rI+O4V|OlWaiz@UH}J7ylZ;NY_+aV`k0etO!vEvfE-g?xAIQ^Auz(4l^PS5 z6SrtsMxefe;vzxqbrC7N#mP3Lp}rY2V$>|%+oZWyBnM^jqBb64rgBM zUKI#jJjM-c9fV?@MkYC#u?N~p(;x4l2{hVDcT6o~ydgcaZ%n$Y&mpBFWjb|Ijrc&O z%<1?h&N?GA9LkIsx(OiJbZgiUSZ3-xyc#SuB@QnQ(=*eDpR~0#@=%?wSS8a>qs!ZM zXy2}Fo7Saurmx2O>cawpoH}J*82v9md(){gq0r7WY<#844g_xNXe`&jIDJ)sXy8c2 zHU&i|Dz+{tI#aO~VKYKY(}c0n^#AnOYS2u@??&&MnktNI4vp!5W4$|-8<}>Et7B+f zfWVW04V8Yu%QR?wWxY3*B`Q~j`lhQ}J@vj+u9LZU{B?kODxeerYMJ&;Xbp8thKaSI zrrK8^L8H{C()3hAeJVpw)lKOW*Ft1w%%pL4P$l!i3>!y?FkPGX5`s(@us&4G^qpS@ zAS6>-aLpb(GRrLY1#r)le!Hj#H&dxKe?y5(`?U-xb4v4PV92bvzLWzvnp$RgnZ}I| z$XuB?jlh=`|aL3f_A)Z00*N8Fqpo~&a*K{03eE|p zQFX`}55ei#3XLQ!jq?=+my%UrFxLf^YXD;c?2KGWHN81$B!Tli36_r{z|Nu~Y@}q<&!>F7yruC0dZH%0fiA#{a;{Kjv>`P6PW7j;gq)5g z8fTpDNn?F@I*>uCsrcDY*kr0l|M!^&oox$eGIyRG1~dm@xuf8^DK)pF#wpi3$CcsG zN^ve`Ub=Toq30XW+o9*1(*LaU#6i=A^Nk62z+a~T7MuL<1lXnLDm;>$O%Yd0o9bV5 zh4rTKcl=ZI!)>ElU@ z-BA|=J!EBezIE8leE8iY-Kk^6arsVRj#n~Oy*p4HX@uQ5jpOzz$KTy8LCp+*`E9OC7PGMS*S`y~)-JE`e2u@Sv<`TowQgc&rNjLwVr8TI72%m_*!>!iU|MrO5`HyZ zy&p!3w)lgusNV1g5q9hUQpYA#Lb4wysIES!1glMkhofm0W<0D+v#{%-WM-S^qyKQ& zwCYg-i#4v-D8$-wrZJBj5My^gPF5Lv1Xg5L_-B&FG+&$fg5+SMDd(xiId{AHqL7d^ zd8RSY-!$u)UKLv})B0x<)G>OQnm_ln+pE#Gy7bZoE}9;^tWD&cd{fd?@0Ay^wA-t)gl7D!ig3e}_Nu*FKLTEx zB3>)?2EX=pSfQ>vV=>Y&zr2nop1*tD+Zrvq@|P*(O0a3y8->`DZ)mE1d0SIO>uKun zwuL%RuBME)q2?KTL2tD+p)7#BYnBBt^_^wbw!Sm371PUi%A)XkuPuslrZ3(%fE3e` z_urQ;VhLkmdwJ4l)txEe zuTV^5P#v=58w@5f*eCbbLn33#CgC0jsEC1fP{v$nj|=S}NxxrFU^vGfg5+NIP>;bM z@^VMm4Naz}E5wtJ#0-a(I*px~*$ooXmY3>OpH+05OT1A?$y#M0rK=ByrJ9Fj*e|C# zLnMPc@)Z|YN8Sgsi`Z5#ayCXjL#~qh9_0tZF&4$W&d*)bb9HD_E^lQROZ1v!Je@1>8fHc z-hi;Dm4s4}FN*oZ*AVzL9u(%6#mZW*FyH9D7tmaq%Em4$ENB<7Tb zP`E6=FAMen>tws~un7F;TvG?)ZuFH_X^#eD9iyJ)Znk5*VMC#DEhXWY5KMTJaYZov zK&5~R&<>X3@CvlkOvkto@N&<0g#z>zmqnpxb_n>86sCpHFjDc45D0fEaCIuHBs)}u zQofqUW2|ZxH*Tz4ohLgOIn~I;MipT;ERg@K2u&EQm3_m2LCFklBVnv+tSl+3Ws^SM zuo0_-!|yN$UxY&!8fn`Ipq0K3cUFdU*n@+sKqt72`>Q}7$ixa&p$5Gh)){A|*SnhvO>&?>`Bt6p}U5yPD*)&Ut z*0D^o*%OFaBN{^Gf({Nggm;jH`x||PIjS*XUUpd>l7TR9)E*s;P5y%!33I62v`9M?fVgARp#-#|)J?+uQ*j&Z)Y1Ux#7GQv_*u4e(?SJ8_c_r(m=h~yM zu|**wl!fiMPTfTstF8(N#_0A?7FV|f)L!=214Mbe6tNSQpB%9JNW67+NBj?Q&dp_rV#XshUfl? z+PFMO6)m@nwoRd~3v^cn9M}n*9IG3H&02ab{@k8)$X-0r32I>R4z!FjF|-4;)|Sk# z=+cooczs13o6^A?%P`x1z5{nq(S~ArCz3)HcLzdSy0d~-rj_^uz*KzDg$&UqO~I9t zKESZR(u$fZuc|pen(Hhq(-p@0&(Jz|Asw+$dn|5jS4e{uW`{#J$bcodqZ@n!*%;m( zD*NnIB_@DLA|Obz4+y4ByLs%#aBO$*g42lIiOik2r8|T-|6OHZ0CTeFH|dB4lHV}f z0%>hQW$A>%FJ|P^FzgGGinSWWt~8uo+G8y&(sv>8!qxOj;?tA52tVVeh?666in2@0J#@!>q6X$$S!Oykw zfYIPad{w+AUown~#()x}PgnRSB`N=n4iXIWi8ne)IcT>Y2GH6YzMg!Q9L!u#ir^|xPcsm(9{!3+k#pyUvhRu*F z*T^C{ZuohO^DX;g(i4_l(bffm|vqtMZh6Fr1V8ygUGbjjX8Kqmrd=CN1ofK6zrpC0UdH zDC+(&et8hw+y7@;rduXDReiAR-7T8p6Fm5s(t`&fl{sgrL1?L*I#P_j#9UptbXfzc zT)iVNJ_40Fd$~zIc?@2F$4gB;S+53qdnFrYD8}vU97u%g_%eqM^RD61lkg*D9Zx|k z%2H0jfXMA{74AkdJ2gg~WsY+PNt}*Q3`vtnyy$4f@@F2<<7}*d8cO=T%#U#EIc-!L zjE}YiIHZ@^IQ%q(hdx%TsM~B6k5QO$Xg!eujkZM8$=f?|8iL)mH)@jtXDSPeouS=L z7KWXn*vxO(?+ny%HpfubDUxvm)6PI<@I%E~(zz6q=sfHntzcfDT-yFdl_Z6|H*or& z&==0&qd#E_smGOPNdsl!sk2a*R%!8bf^1O;6~<(o;#8o-0l{%x4Zwd zvNog=nBvadaMvx;jgv9kllfxF+YkT~vHEQYXYYT;gf`q8C*39^I0cJ&(fh31wCT#l zBe%);PQ<`FP&@R!hD;cqDcaJRrclbwQ1Ay(RE*B{0%)!*LAi-I;|?q(eH?NZ260!_ zX2dt4Ha2FNNtf5&C!Z`JM~#q0GMy7MJKJO~Aedq!dQwP&%uDVgD1(O{!a8;%9WOs7 zZ*JxzXik=fUR0;d@EDG#Bk17-yb)hWB1{Dtpnvu-sadF6Xp3=RJmEuU15G*ZjKyM;DqE86C+W~J;bG|WB0TH>v< ztQZCXt5(Qb09lK8V71+}^Jx+h%Spe&@om7akY~D(v38In-(#%G$Cf5Uu&>AE>qx8^V#@}y2b1uj6Z67kJ5~;T?U)+{I3n!m zeHvaMornh&P`2{ik)l80_N*gIoPrT0Elm#CGdH%DAoi>tdOJ|%Lm1}3I@;ZyqHtac zzyMnoh5PA^-Snx2L0*njc{NsYB$WH77NX*J<;6ASMRm+6!JN>?i3PKFQ?)*(I8lcS zrr|{|3kiQYu@ba~A2_iXZKVd_+TyH~wkpGELDutPH89zOdC;ny(&CpLIV3Oz~jumY&ub z2-8g!Q=~Q+eQ{QvnuHe5r}qDXXL1Rmc-@Z${0mpGRkO=31d75YuEdE)|F5{y-3T}S z^bzg=^eai&vM{`4KBfPQuhZPA#W`H)p5NmCGPWlk#G`~6c+rljJPN=sJqgb;9OhYo zC+$iFJ_LZUZ~Aarc-#D^sRqVl{#dG2VpH&Nw|hbAkv zZjsT*#YMiXJsG)&zW)!M*1$%kSS^YOC6r<%y)^GYJATl$&vyjKd01bHc`?e5lw$c# zgc7;eoCveeEloe6kY(jWOviHmESP-0cK$^EbnN5LjFe6FXVo1Nw=302vzzdcKZ`8n zKQM9#9E_~Me^Bq!So;sGz<*Gx-!d}Ae`rl{C0eYr0;qHi{|#U*DQghOqV4ju!wbE_ zGgoNtQy?JS=Cri!uU@$ z>TR+-K9X$)_Vy(1sX>P^uQ9t9^TUK1tS-eFcGqB`g+K=Mj-pA)k!wXU7ohdpvLLlCf>Lp&9qXh5vO|aPMRVfH(B`b9QV40m0w|)?x&`yZz0Fxw^2z>fPS$M|R%pQjwKqzb zCaneg2Oi5yTe5NhujGTRSZ4+(`?X~U$qB?8?b&-8%JmL3vs85J#NJS5=uGDFFvfKz zP9MgJomnLUW^`ssoG82tYf9OuE^M;Hn;k0M_R>qV>B_pWcRMh)D{I3(?7$6O31cqi zb!CkdaJg;3Hm;FED(3~BKc88t$`vC4|}tKLNGu4sy8wE*-3O!Oy%s}q^8t{ z`LbA}4=ZDCm@l%aeb_Cs{j>TqFN#mC?#osZr`q*nEht;mj}0-4xGx&xnJaZ(yFVLC zudH`ga|WkQXG5{;F!MrG9zx; zLO$DEJVP*8j`lKT8CX}QiofGnCCkMfN_HRL$fQQ6Vxue;M2_m9ELNB8zJcRpT4vc< z)XfG^N%xs~#qAP?Be26Ae1b_a_h{uy?%)8I7aiK1$xYIN;uy8LLD;>XW? zt%6($^l~eP?IAI>21V~-%^WP(VhpMB@;%I-Im}W+bW$+_9NWiiz+tfla3sLR-&uwd z%$s?Dm4$+ut8nK*=3P*6m3;LeU5)lzu5KIX0#C;PcOzw80}P6~ca$i8uv|7BWhOy$ zT>b=$hTrAyPmpwwY1N-3#$;ielWc`FS-X@9QtDQ9RlY2|5~Y`)z6E?*iz!v2{mOK# zdW!VkQ5VLprqzI~QlqdzFT!CroPzvP$8-WKc*Xwch1n z{CVb=zshoCba>rDeq-#0t0!4%I?ei~B(-jHJ=9Wo`rYF&ET)8z7lgB*ed3o$huuC-G zIMZS`hHJDKO&EHO+NIZ!jbP>RC4g+tHEkBIk-XJBKi}P-(hY=9% z2J&JE19?e|dBE&Tp42LwU{vGI0i`k-RDAq^G~}B{%mwovFdqfc_Bkq|K&qCG{tww2 zG8IQ3vNpsuuSaZw*HjHpS$dzlUq!QA(*SB;_GUr4vmehqVgbdA(E?VOYsghsz-BixyQiw6^~O2RNG&3UKVubH`ZKKeoQ3cm z&-UOjTT8FwDVL zl-aHLSAADiCB*K$R;s9$_>>oW@RFCA4p=?!1*^zqf)&tqluAo{ER^1&k}_a9OA7hOx~tss=X2`j#3jSU*H7PV}+ixb|G;hcz7-m&V9{?-VT>?2uK zqdwmWOjM88B3U@Aul*6F1$%gh1|RL=-rZN|#Y&`p(Nrm>{ zK%43^A6PQn!vi1Kl%mmWV;JwA~xd}2;j+JvLw zf%2epG?RUQv9bX!g z8LvjSJkBy+_&7vJH)J2qlYl(CEWsJ_uPVg@HoP-!Eq!fydH4q#+4A40bk~+Q zS9}ROKA@x~Wt_esDnm!C#0Ptw;Sy%paaZTd+S+-fI3c-s(vFW{PbOlwVD^nUJb}d= zc=^zIY7irmIT7*df;ywlIo&h`iujW`(MgNclNfq9gFPL18SiBEX0oJL<03j2`mV^V zH&-L(M7^Xr^5t}%)y|2Bz%zM_6AuGOmeZX1Im&Ue3!lTDZ9@+OUroim z1|9{67z;3R*W5ir-T{7i6D~(|+R40t|@sXY3wt~o@t{}@Yq1AQSmHS3&f=N{k zN>w+lDji~wGBPNN-@ib53su5!H|`nqvA7nhpmb;!S1B2Xy74N0IT?Et#qntZagQ5! zhe>$OjYsWnB=Rs`Hu4m@%#;woM*xXe{|bC11rS_9xIb<$&E3fR z&MD13D7#ad#4ro(%J3NH_b-%blAb8*e7`)b48Nju7F~`vCL4|ARD!OQETLz0c8obd1;&yMoV!87Oz9`Hp;10f3+F6L@LAKwcM#W@21?)+t8BtpbIkS+?odR94E9U zK~BW&tx3{;#k|&PPi@-di)%Y_(@(acIvMELmg;QB@V085C2jMm89;>8Y?t4p0?up4 zYZB~aJ6@Ya`$;r+vvcOkvZAZg6{3moDcB~OE8(_j(LBU+qoV69hxY-XXeR@SadE6>g7{MXS%ZAH$0RTbSb1`8a@{xC1|u&rqlY1`M`}DFo=Nn zHJ}jGGtM4KTcjf+d3v#R+6Ho_a?1bqkUZ^M9`%191Rsv#ed*Fjr|X)v*2&Aiug0`KM+0o9^tZV6uh#z<@x{c98%NG1V>LDGs|G@iy z5@F;RPG2P8fHAag)8(0C_yQYJyg`#lr6u6xNxTci$}UdgKQfB>_MOVx(Uw}C%1Z*| z$;YShFGb1yDltLKGZ6BL*pKxSxw}I`iZZ>V@@C6lCGxQ>G%vp{EA$mk)@h|0`T2p| zf`Q`0S?Dl}Xv)K|S+p$k5NDB^&cmCt_$((4PoSQ7oP`OqiO4+6oy{XDbD2XXBM%$T z;n9@g9I|A2D9<4qlZXG#;oT{V{)JbeY|1ZWyz=n)FWk@FLYN42$ltz8d0R}}i3WQB7xJ$ti(kkq_-Sa3Hj!)-SC1+c56~<-d6=p2Q<6 zSq5ZiYnf%qOpJ=0`~^q4Y?Dt4Tg>YahWd;7%mUO7g!-?=JdIvVTcUDd+Y`k0SVF5c4p6joRX?HT(dT%B|&f z?aV9$G_2=A1dLiw=a3uM^2B@!tY~YWrmm77)3`BT=-mR9$W=b$cc<|OGkI{Tu63EX@5`xrui+Ou2+XpZi6ay%QujL&%?_b_z}okm731UisI@F zKJL?$)!Im+l81dZ^2q!OR?OS5k(+ni92y_7*WpVDed+bR7) z=|U;Pc-=#K(D@s5&Xjy8g;T0csVSuxO2a56P?||8h0-BPA1HYm4Z1K&wJ0^B)P~ZR zltxmTL}?DCC6qQ&+D7S5O4lhprDPvq(3PST9N=ouIaV|1>QSKurB0MOVrp5@AAZ8( z<%Ay{3x|~x^_b(pW=-Q8$5;O@?%U2dxP$0w2#=`p-GC9X0|pHpGJHf-<#73GkT}Q5 zt=?Ku_&7AJ5;d@AhsrIxNO+~97)DnzqeK4#t}n}>qOX%<|6c8?*XY!|dqk^F2TZCIzu2lDPmGSSoVu2N&ne{|kVSwDYz9?mdP97|Y z7;DI%4TQfH1V1zsR|=!SyNyJW6<~H_(duI^##q&8(?on_1=!j|)U;~yzKNJ>RYT>% zs;2Y@<+ojgF`xrHdd{PyXEj< zCo%7nP#fIdS@ihKtF~Q4_m5wN;FT_->wlqxx{7XA(34$7TPpw&5`sHX__){TH+;x< zu|o#;Y4}ZHk)75}wEwt84fO3U91HVDuH0SFN7RKH#zs^bGGgG+*gm5aHPmPLm|?N) zo45J4HO^@!+>ynI+J#h++&o592Z)d-^bjuA{G&N3gS)>JEg%gYV#Tk8Tdj^2ovdoh z_HlxO{DsIsV^2}T3ec;k*kc8t9!g_$FR|>u(170JJ1Z#7W)S|-Tl`4}eJOp!sKV5g z=_`bF-^x;x+w>ET)?h;7jpO=@+l5ifLk9?MU2j~xI9#|2Mt?1`tpKWUwHYXGT0zwn z-ffU5Wd*h9WmkFKAaTIDCxs#zhlrlmV3mIVVIQ;9g2_$pIb1Aag?o|hMv8vCFa$@B z5|;}D=^INux!C6$EpC5c>)@!WCo0x>AMa^<(j>R5e^4I`(5UY2&PQq&$4Q z_=nLCSj;&}+IGw&VbJe~YO(FHcqS=@b~(Zhr%e>D1%j*7-M z4XVc;qOXIgsSmE1Bqq~m@nMt27JaqwW6%>rE{Is0%GDx{LpPjrL3EZ^Orfqsc>!3d)Oc;11Fq1|G%xw?@5oi zVD$we!hTe2`!?Tp{iaGRo*XYc@WujB$3IG{+PZO*Zr}AD78e^)b$FkCeMZH`jT|v# zP~3>P1?(~gED~R0(n8VSyTEIRji}sj$iO~>V!!Ftzt5n!h3LOX94l&O77?Oh`$Q$I zo+Re^7cqrNERkWog`x)zNfzaC=wdObD7=f=JB`3u(Za?`RtnVk%q8M$zNDy%WpLI~ z@iqOt!<(gIc~RXZv$gncsThu*@6N7qgNW$Z6!xPs-eCMSMTCBauE!}t&zG?^_)~it zZl`6UO1UB!vz)C5ZT1>s+;UP@CzpudU(Xh6(`jrc z1P*N_>^@$K6|wUg;ZYP78(6*1Qn7uFaN+6fE0pSzX`xO&Ez2(M8LaVVkoaQkTH)@# zk+uD7g;i^b<(YVRt!Plx6m4Sb|HoiM(3B>EiyG`^*5b2d*poqY-@+Pxrh*@KSx4Ge zW}`ndCy_jhCH)TyX*$*m_o7C*mC+BOC@b`{QyPNL*NdQ{M!Ahee`XNA7{5UT(h0@S z8^o9HJ6Nqx)gu!c#CNh0pBg6_W7R*lcg}ao8brtL!jyDT{bSh+!D1Q0zo^0PW=sF) zV7Ful@1k(*`81*Vde*Zrp?ldfv$pC(wx&PX*`GEF|Ierz^0Py2Bf?|%v56c%ybv|y zMwucEidyu)%d<9#eo&Mp+0Q1a*h1w7TSToQu^o^X$Re&tYzNsZrqEVVZoE}ghN2jC zh|N-%T?sos6>gX_fc%Lo+df*+s%jyp%EKn2SL|Vyh7rGuD9qVMhP-}bQ4?2f7p_J1 zafB`Zs7X-uxZdB!4en*_xqs{-9c70!+8&G(qstVbGs%^zUiA-lo?%Kovj2Izggv@^ zD~$O5dr=&HcGK?l-<`r#6phE&CEPGtj8JNyC~BsT=g(B+9-675aAs?ML~J2~Jobs& zMTyD@9I{XRR#c4~4EtSdEvnm-?2r7RY{E(hgnii}cz24`R+f9$Z@SEzK^z-%K$IvJ zUZeVHHbevWjKu`eeya3{7|kzgrpkxTii86WokgzS zlOrOYU!u=BREKx;QQ=0{=Vl!h72yi*I4XKkkkI&t7{RZyp#=sAznUxp@YWxqlufl7 zRj;vVg|^aI_lhWi^^OT&x_c6HjP?pQaQ86^2j0Z-*|eeYzDT2~e_R;g7DgWz9r&mkh@CjYPNr~P=!M%ouKXBm29D>8&HI$ zjU)ZuGdbb+6`O(SCj@=NazX^b157v}g5e>qIUyR;*E5e#kn}vpiaBB$f5N&b4trC4 zmm>`PAJ$Bv!n+Vt8lDs-`BT{;wN8Y$`>DM@IgH!52hN5gu86 z2F|)5;_3MQ^#$=A{rL4n9DPZQ#uMj-J^c{&Sp4CV_+DS7U!M`PaMUF+iO=TcHM;ws z6U7|o@b=o;h*GyEp4jZN2(t;VQRNq28^`@5YS>1G*QjdZG1_!pxh$gSC%ny*M=}{m z_h90#h!_zb6+RF5UJ(Q7c1NW=F`O=-q~wXVumGRriJxF0j=3s+q>nA&rijMlSIPb- zTocZaB+pbbSd2;6srC}3c1Ns#LqyW9fSN?(;Txg`9m`X@X|^f6l`5x?LunJW@+LXT z%Xkk(+@f&gJQDLVx5$B6&bw<8Xu2s}>CAP{ZHjh;R~tCwyFSBL@Q#@9j@(bO4g%la z5>@CcjPTneHLG}i45%n-+J;vhIH2!{RHa!%`jK!ITFYJqu2Jr;sH<_%9Wl~jZNU^i zxhHC4&|OiD;v`?*71M00R;#j(NQ=8m>c;nPQIUS}yqVT?@ZY3zHt<1OY3tvjg=0D$ zZfLU*frP0RHoqt8(l4Z&+i$-|8e=2gxhH<$nHC`4C#0J!r58$RGdJN^cS)9F9*8gL zr`63J<~VGF~;rOYm}>e(Crm zX4{_+UBTjY@J&Nor?_6dhKw9MB6PsuzC)HWn_fc(_Z`qLnbz143Xl(`ZbAq2PGNR& z{j|qr%x+Mh5plg~3%r~a?>k`lHzTwkvnK?-`;7XHsgw=q^UX@8Tg4o_KNa%4r^wE* zkiF5G?6n1CrxlRBz7W~r!@t+)UYAdICev+Vjt0=#4jrzMssq@}^efAOPB%vm=&f&D z!pFlrrV-x{?Gsw~7yT~-&W_W2WA?ZD9M~u?{Z1e2CjK Date: Thu, 20 Aug 2026 16:01:26 +0200 Subject: [PATCH 06/12] Fix running worker fork cut point selection Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- integration-tests/tests/fork.rs | 55 ++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/integration-tests/tests/fork.rs b/integration-tests/tests/fork.rs index b2addfa784..fa66331e62 100644 --- a/integration-tests/tests/fork.rs +++ b/integration-tests/tests/fork.rs @@ -23,7 +23,7 @@ use golem_common::schema::SchemaValue; use golem_common::{agent_id, data_value, phantom_agent_id}; use golem_test_framework::config::{EnvBasedTestDependencies, TestDependencies}; use golem_test_framework::dsl::{TestDsl, TestDslExtended}; -use std::collections::HashMap; +use std::collections::{HashMap, HashSet}; use std::net::SocketAddr; use std::sync::{Arc, Mutex}; use std::time::Duration; @@ -245,13 +245,54 @@ async fn fork_running_worker_2( ) .await?; - let oplog = user - .get_oplog(&source_agent_id, OplogIndex::INITIAL) - .await?; - - let last_index = OplogIndex::from_u64(oplog.len() as u64); + // The current oplog tail can lie between a call's End and its delivery marker, or between a + // nested call's marker and its parent's End. Fork only at a delivery marker where every call + // started by the polling invocation has reached its terminal. + let wait_started = tokio::time::Instant::now(); + let last_delivered_index = loop { + let oplog = user + .get_oplog(&source_agent_id, OplogIndex::INITIAL) + .await?; + let invocation_started_index = oplog.iter().rev().find_map(|entry| { + matches!(&entry.entry, PublicOplogEntry::AgentInvocationStarted(_)) + .then_some(entry.oplog_index) + }); + let delivered_index = invocation_started_index.and_then(|invocation_started_index| { + let mut open_calls = HashSet::new(); + let mut delivered_index = None; + for entry in oplog + .iter() + .filter(|entry| entry.oplog_index > invocation_started_index) + { + match &entry.entry { + PublicOplogEntry::Start(_) => { + open_calls.insert(entry.oplog_index); + } + PublicOplogEntry::End(end) => { + open_calls.remove(&end.start_index); + } + PublicOplogEntry::Cancelled(cancelled) => { + open_calls.remove(&cancelled.start_index); + } + PublicOplogEntry::CompletionDelivered(_) if open_calls.is_empty() => { + delivered_index = Some(entry.oplog_index); + } + _ => {} + } + } + delivered_index + }); + + if let Some(delivered_index) = delivered_index { + break delivered_index; + } + if wait_started.elapsed() > Duration::from_secs(10) { + anyhow::bail!("Timed out waiting for the polling call's delivered completion"); + } + tokio::time::sleep(Duration::from_millis(100)).await; + }; - user.fork_worker(&source_agent_id, &target_agent_name, last_index) + user.fork_worker(&source_agent_id, &target_agent_name, last_delivered_index) .await?; { From 899b1af976457f0c203fbab84a913962fef290d4 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 17:05:22 +0200 Subject: [PATCH 07/12] Defer response trailers completion delivery Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/durable_host/p3/http/response_body.rs | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/golem-worker-executor/src/durable_host/p3/http/response_body.rs b/golem-worker-executor/src/durable_host/p3/http/response_body.rs index b48b0351c7..a949374816 100644 --- a/golem-worker-executor/src/durable_host/p3/http/response_body.rs +++ b/golem-worker-executor/src/durable_host/p3/http/response_body.rs @@ -196,8 +196,12 @@ pub(super) enum HttpBodyChunkReply { /// Resolution delivered to the guest-facing trailers future once the body closes /// (or the durable task fails before recording the terminal). pub(super) enum HttpTrailersResolution { - /// The body terminal: clean trailers (or a body `ErrorCode`). - Outcome(HttpTrailersOutcome), + /// The body terminal: clean trailers (or a body `ErrorCode`), together with the delivery + /// token that is consumed only when the guest-facing future produces the outcome. + Outcome { + outcome: HttpTrailersOutcome, + delivery: CompletionDelivery, + }, /// A durability failure: the trailers future traps with this message, tagged /// with the failing call scope's trap context. Trap { @@ -465,7 +469,7 @@ where match Pin::new(&mut this.rx).poll(cx) { Poll::Pending if finish => Poll::Ready(Ok(None)), Poll::Pending => Poll::Pending, - Poll::Ready(Ok(HttpTrailersResolution::Outcome(outcome))) => { + Poll::Ready(Ok(HttpTrailersResolution::Outcome { outcome, delivery })) => { let item = match outcome { Ok(None) => Ok(None), Ok(Some(headers)) => { @@ -473,6 +477,7 @@ where match view.table.push(FieldMap::new_immutable(headers)) { Ok(resource) => Ok(Some(resource)), Err(err) => { + delivery.suppress(); return Poll::Ready(Err(wasmtime::Error::from(err) .context("failed to push consume-body trailers to table"))); } @@ -480,6 +485,7 @@ where } Err(error) => Err(error), }; + delivery.delivered(); Poll::Ready(Ok(Some(item))) } // A durability failure occurred before the terminal was recorded: the @@ -1620,9 +1626,9 @@ where parent_trap_context, )) })?; - match trailers_tx.send(HttpTrailersResolution::Outcome(outcome)) { - Ok(()) => delivery.delivered(), - Err(_) => { + match trailers_tx.send(HttpTrailersResolution::Outcome { outcome, delivery }) { + Ok(()) => {} + Err(HttpTrailersResolution::Outcome { delivery, .. }) => { // The guest dropped the trailers future after the terminal // was persisted: the completion is silently discarded, so // record the marker before acknowledging any cancellation @@ -1638,6 +1644,9 @@ where )); } } + Err(HttpTrailersResolution::Trap { .. }) => { + unreachable!("the sent trailers resolution is an outcome") + } } } if let Some(ack) = cancel_ack { From 44f0c50f9f9cecd30e91e6187189068a76fecf72 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 17:05:30 +0200 Subject: [PATCH 08/12] Drain custom subtree delivery markers on replay Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/durable_host/replay_state/cursor.rs | 10 +++++++ .../src/durable_host/replay_state/tests.rs | 30 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/golem-worker-executor/src/durable_host/replay_state/cursor.rs b/golem-worker-executor/src/durable_host/replay_state/cursor.rs index 329ad0fd02..5c0b2a860c 100644 --- a/golem-worker-executor/src/durable_host/replay_state/cursor.rs +++ b/golem-worker-executor/src/durable_host/replay_state/cursor.rs @@ -340,6 +340,16 @@ impl CursorTx<'_> { self.commit_consumed_entry(read_idx, &entry).await?; return Ok(Some((read_idx, entry))); } + if self.is_custom_subtree_descendant(*start_index) { + // A completed custom invocation replays as one logical result, while an + // incomplete one re-executes its whole body. Either way, no replay delivery + // token exists for a physical call in its observational subtree, so its + // marker is replay-inert rather than a guest-delivery boundary. + self.commit_consumed_entry(read_idx, &entry).await?; + self.st.skip_hints_after_delivery = false; + self.skip_forward().await?; + continue; + } if self.st.skipped_regions.is_in_deleted_region(*start_index) { // The call belongs to an abandoned timeline, so no replay delivery token can // exist for its surviving marker. Consume it like an orphan terminal and keep diff --git a/golem-worker-executor/src/durable_host/replay_state/tests.rs b/golem-worker-executor/src/durable_host/replay_state/tests.rs index 2521c88f33..96d7b4ede7 100644 --- a/golem-worker-executor/src/durable_host/replay_state/tests.rs +++ b/golem-worker-executor/src/durable_host/replay_state/tests.rs @@ -506,6 +506,36 @@ async fn incomplete_observational_tree_does_not_block_custom_live_fallback() { assert!(rs.is_live()); } +#[test] +async fn delivered_observational_completion_does_not_block_custom_live_fallback() { + let rs = replay_state_over(vec![ + noop(), + custom_start("outer", 1, None, 1), + observational_start_now(2, None), + end_for(3, 42), + delivered_for(3), + observational_start_now(2, None), + ]) + .await; + + let custom = rs + .claim_custom_start_matching_invocation_id( + &HostFunctionName::Custom("outer".to_string()), + &DurableFunctionType::ReadRemote, + None, + uuid::Uuid::from_u128(1), + &custom_request(1), + ) + .await + .unwrap(); + + assert!(matches!( + rs.await_resolution_outcome(custom.handle).await.unwrap(), + ResolutionOutcome::Incomplete + )); + assert!(rs.is_live()); +} + #[test] async fn observational_call_finishing_after_custom_terminal_is_still_skipped() { let rs = replay_state_over(vec![ From a1b0e6673384eb9d1e4ad14fed273c9e78bbace7 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 17:41:30 +0200 Subject: [PATCH 09/12] Fix replayed HTTP body cancellation acknowledgement Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/durable_host/p3/http/response_body.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/golem-worker-executor/src/durable_host/p3/http/response_body.rs b/golem-worker-executor/src/durable_host/p3/http/response_body.rs index a949374816..f23e09a4b9 100644 --- a/golem-worker-executor/src/durable_host/p3/http/response_body.rs +++ b/golem-worker-executor/src/durable_host/p3/http/response_body.rs @@ -1616,6 +1616,12 @@ where // pending, and park at the delivery boundary until the // deterministic guest drops the receiver at the same point it // did live. + // A cancelling body cannot finish dropping its trailers receiver + // until its stream cancellation is acknowledged. The discard is + // already durable on replay, so acknowledge before waiting for it. + if let Some(ack) = cancel_ack.take() { + let _ = ack.send(()); + } let mut trailers_tx = trailers_tx; activity.park(trailers_tx.closed()).await; drop(trailers_tx); From c3d6d6a64508ba942b1aa6fdbc894f5628f30e91 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 20:21:51 +0200 Subject: [PATCH 10/12] Fix replayed POST cancellation cleanup Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/durable_host/p3/http/replay.rs | 21 ++++++++++++------- golem-worker-executor/tests/http.rs | 8 ++++++- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/golem-worker-executor/src/durable_host/p3/http/replay.rs b/golem-worker-executor/src/durable_host/p3/http/replay.rs index f75415c7e0..f13344dbd1 100644 --- a/golem-worker-executor/src/durable_host/p3/http/replay.rs +++ b/golem-worker-executor/src/durable_host/p3/http/replay.rs @@ -14,6 +14,7 @@ use super::serialization::{deserialize_error_code, serialize_error_code, serialize_headers}; use super::*; +use crate::durable_host::concurrent::drain_dropped_call_events_access; use crate::durable_host::p3::{DurableP3, durable_worker_ctx, wasi_http_view}; use crate::durable_host::tail_work::TailActivity; use crate::services::oplog::Oplog; @@ -156,15 +157,21 @@ where // drops it (channel closed) — which strictly precedes the settlement // check that consults the tracker. let disarmed = disarm_rx.await.is_ok(); - if !disarmed - && let Err(error) = + if !disarmed { + if let Err(error) = consume_replayed_request::(accessor, Resource::new_own(request_rep), None) .await - { - warn!( - ?error, - "failed to consume a replayed p3 HTTP request dropped by the guest mid-replay" - ); + { + warn!( + ?error, + "failed to consume a replayed p3 HTTP request dropped by the guest mid-replay" + ); + } + // The dropped send handle queued its replay-scope close, and this + // cancellation path may be the invocation's final host call. Drain + // it here so both the send terminal and its enclosing scope can + // advance before this last host task exits. + drain_dropped_call_events_access(accessor, durable_worker_ctx::).await?; } drop(activity); Ok(()) diff --git a/golem-worker-executor/tests/http.rs b/golem-worker-executor/tests/http.rs index 6d97844e21..30d2f9aa76 100644 --- a/golem-worker-executor/tests/http.rs +++ b/golem-worker-executor/tests/http.rs @@ -16,7 +16,7 @@ use crate::Tracing; use axum::Router; use axum::routing::post; use bytes::Bytes; -use golem_common::model::oplog::OplogIndex; +use golem_common::model::oplog::{OplogIndex, PublicOplogEntry}; use golem_common::model::{AgentStatus, IdempotencyKey}; use golem_common::schema::SchemaValue; use golem_common::{agent_id, data_value}; @@ -1816,6 +1816,12 @@ async fn outgoing_http_post_cancel_records_cancelled_and_replays( "the replayed and the fresh cancelled non-idempotent sends must both record \ Start + Cancelled pairs: {sends:?}" ); + assert!( + oplog + .iter() + .all(|entry| !matches!(entry.entry, PublicOplogEntry::Error(_))), + "replaying a cancelled POST must not require a worker-level retry: {oplog:?}" + ); } executor.check_oplog_is_queryable(&worker_id).await?; From 964027185b27169fd685fed8425dae94e98faa90 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Thu, 20 Aug 2026 23:11:15 +0200 Subject: [PATCH 11/12] Fence replay cursor cleanup after HTTP cancellation Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- .../src/durable_host/p3/http/replay.rs | 33 +++++++++++++++---- .../src/durable_host/p3/http/send.rs | 11 +++++-- .../src/durable_host/replay_state/cursor.rs | 13 ++++++++ 3 files changed, 48 insertions(+), 9 deletions(-) diff --git a/golem-worker-executor/src/durable_host/p3/http/replay.rs b/golem-worker-executor/src/durable_host/p3/http/replay.rs index f13344dbd1..0df24755c6 100644 --- a/golem-worker-executor/src/durable_host/p3/http/replay.rs +++ b/golem-worker-executor/src/durable_host/p3/http/replay.rs @@ -14,18 +14,18 @@ use super::serialization::{deserialize_error_code, serialize_error_code, serialize_headers}; use super::*; -use crate::durable_host::concurrent::drain_dropped_call_events_access; +use crate::durable_host::concurrent::end_durable_function_access_if_open; use crate::durable_host::p3::{DurableP3, durable_worker_ctx, wasi_http_view}; use crate::durable_host::tail_work::TailActivity; use crate::services::oplog::Oplog; use crate::workerctx::WorkerCtx; use anyhow::Context as _; use bytes::Bytes; -use golem_common::model::oplog::OplogIndex; use golem_common::model::oplog::payload::types::{ SerializableP3HttpClientSendResult, SerializableP3HttpRequestBodyFrame, SerializableResponseHeaders, }; +use golem_common::model::oplog::{DurableFunctionType, OplogIndex}; use http::{HeaderMap, HeaderName, HeaderValue}; use http_body_util::BodyExt as _; use http_body_util::Empty; @@ -96,6 +96,7 @@ pub(super) async fn consume_replayed_request( pub(super) fn spawn_replayed_request_leak_guard( store: &Accessor>, request_rep: u32, + scope: Option<(DurableFunctionType, OplogIndex)>, disarm_rx: oneshot::Receiver<()>, ) { let activity = store.with(|mut access| { @@ -105,6 +106,7 @@ pub(super) fn spawn_replayed_request_leak_guard { request_rep, + scope, disarm_rx, activity, _phantom: PhantomData, @@ -134,6 +136,7 @@ pub(super) fn spawn_replayed_request_leak_guard { request_rep: u32, + scope: Option<(DurableFunctionType, OplogIndex)>, disarm_rx: oneshot::Receiver<()>, activity: TailActivity, _phantom: PhantomData Ctx>, @@ -147,6 +150,7 @@ where async fn run(self, accessor: &Accessor>) -> wasmtime::Result<()> { let Self { request_rep, + scope, disarm_rx, activity, _phantom, @@ -158,6 +162,13 @@ where // check that consults the tracker. let disarmed = disarm_rx.await.is_ok(); if !disarmed { + let replay_state = accessor.with(|mut access| { + durable_worker_ctx::(access.data_mut()) + .state + .replay_state + .clone() + }); + replay_state.fence_owned_cursor_ops().await?; if let Err(error) = consume_replayed_request::(accessor, Resource::new_own(request_rep), None) .await @@ -167,11 +178,19 @@ where "failed to consume a replayed p3 HTTP request dropped by the guest mid-replay" ); } - // The dropped send handle queued its replay-scope close, and this - // cancellation path may be the invocation's final host call. Drain - // it here so both the send terminal and its enclosing scope can - // advance before this last host task exits. - drain_dropped_call_events_access(accessor, durable_worker_ctx::).await?; + // This cancellation path may be the invocation's final host call. + // Close this send's scope directly rather than draining unrelated + // drop events, so the scope can advance before the guard exits. + if let Some((function_type, begin_index)) = scope { + end_durable_function_access_if_open( + accessor, + durable_worker_ctx::, + function_type, + begin_index, + false, + ) + .await?; + } } drop(activity); Ok(()) diff --git a/golem-worker-executor/src/durable_host/p3/http/send.rs b/golem-worker-executor/src/durable_host/p3/http/send.rs index 17355ff542..e1ce8e409f 100644 --- a/golem-worker-executor/src/durable_host/p3/http/send.rs +++ b/golem-worker-executor/src/durable_host/p3/http/send.rs @@ -189,7 +189,7 @@ where let mut handle = CallHandle::::start_access_with_options( store, durable_worker_ctx::, - function_type, + function_type.clone(), claim_options, async |_| Ok(host_request), ) @@ -226,7 +226,14 @@ where // `ReplayedRequestLeakGuard`. Both arms below hand request ownership // over (inline consume / live re-execution) and disarm it first. let (disarm_leak_guard_tx, disarm_leak_guard_rx) = oneshot::channel(); - spawn_replayed_request_leak_guard::(store, req.rep(), disarm_leak_guard_rx); + let replay_scope = (handle.begin_index() != handle.start_index()) + .then_some((function_type.clone(), handle.begin_index())); + spawn_replayed_request_leak_guard::( + store, + req.rep(), + replay_scope, + disarm_leak_guard_rx, + ); match handle .replay_access_deferred(store, durable_worker_ctx::) .await diff --git a/golem-worker-executor/src/durable_host/replay_state/cursor.rs b/golem-worker-executor/src/durable_host/replay_state/cursor.rs index 5c0b2a860c..b948ed9f80 100644 --- a/golem-worker-executor/src/durable_host/replay_state/cursor.rs +++ b/golem-worker-executor/src/durable_host/replay_state/cursor.rs @@ -1498,6 +1498,19 @@ impl ReplayState { } } + /// Waits for every owned cursor operation queued before this call to release the cursor. + /// + /// An accessor future may be cancelled after spawning an owned operation but before awaiting + /// its result. A store-owned cleanup task can use this fence to remain pending until that + /// operation finishes, so Wasmtime does not observe an externally-held cursor with no host + /// future left to drive. + pub(in crate::durable_host) async fn fence_owned_cursor_ops( + &self, + ) -> Result<(), WorkerExecutorError> { + self.run_owned_cursor_op(|state| async move { state.with_tx(async |_| Ok(())).await }) + .await + } + pub async fn switch_to_live(&self) { let result = self .run_owned_cursor_op(|state| async move { From c64500816a9b4698a165f5b22b4a406d429b22c4 Mon Sep 17 00:00:00 2001 From: Daniel Vigovszky Date: Fri, 21 Aug 2026 09:18:02 +0200 Subject: [PATCH 12/12] Record HTTP trailers delivery at guest consumption Amp-Thread-ID: https://ampcode.com/threads/T-01a01e9e-994d-75dd-bf1f-83f6c9ba3a4d Co-authored-by: Amp --- Cargo.lock | 70 +++---- .../src/durable_host/p3/http/response_body.rs | 173 ++++++++++++++---- 2 files changed, 175 insertions(+), 68 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a142958fb3..9bbc350d32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1957,7 +1957,7 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-assembler-x64-meta", ] @@ -1965,7 +1965,7 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64-meta" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-srcgen", ] @@ -1973,7 +1973,7 @@ dependencies = [ [[package]] name = "cranelift-bforest" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-entity", "wasmtime-internal-core", @@ -1982,7 +1982,7 @@ dependencies = [ [[package]] name = "cranelift-bitset" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "serde", "serde_derive", @@ -1992,7 +1992,7 @@ dependencies = [ [[package]] name = "cranelift-codegen" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "bumpalo", "cranelift-assembler-x64", @@ -2022,7 +2022,7 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-assembler-x64-meta", "cranelift-codegen-shared", @@ -2034,12 +2034,12 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" [[package]] name = "cranelift-control" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "arbitrary", ] @@ -2047,7 +2047,7 @@ dependencies = [ [[package]] name = "cranelift-entity" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-bitset", "serde", @@ -2058,7 +2058,7 @@ dependencies = [ [[package]] name = "cranelift-frontend" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-codegen", "hashbrown 0.17.1", @@ -2070,12 +2070,12 @@ dependencies = [ [[package]] name = "cranelift-isle" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" [[package]] name = "cranelift-native" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-codegen", "libc", @@ -2085,7 +2085,7 @@ dependencies = [ [[package]] name = "cranelift-srcgen" version = "0.133.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" [[package]] name = "crc" @@ -7786,7 +7786,7 @@ dependencies = [ [[package]] name = "pulley-interpreter" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cranelift-bitset", "log", @@ -7797,7 +7797,7 @@ dependencies = [ [[package]] name = "pulley-macros" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "proc-macro2", "quote", @@ -11574,7 +11574,7 @@ dependencies = [ [[package]] name = "wasmtime" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "addr2line 0.26.0", "async-trait", @@ -11627,7 +11627,7 @@ dependencies = [ [[package]] name = "wasmtime-environ" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "anyhow", "cpp_demangle", @@ -11657,7 +11657,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-cache" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "base64 0.22.1", "directories-next", @@ -11676,7 +11676,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-macro" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "anyhow", "proc-macro2", @@ -11690,12 +11690,12 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-util" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" [[package]] name = "wasmtime-internal-core" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "anyhow", "hashbrown 0.17.1", @@ -11706,7 +11706,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-cranelift" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cfg-if", "cranelift-codegen", @@ -11732,7 +11732,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-fiber" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cc", "cfg-if", @@ -11746,7 +11746,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-debug" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cc", "object 0.39.1", @@ -11757,7 +11757,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-icache-coherence" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cfg-if", "libc", @@ -11768,7 +11768,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-unwinder" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "cfg-if", "cranelift-codegen", @@ -11780,7 +11780,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-versioned-export-macros" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "proc-macro2", "quote", @@ -11790,7 +11790,7 @@ dependencies = [ [[package]] name = "wasmtime-internal-wit-bindgen" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "anyhow", "bitflags 2.11.1", @@ -11802,7 +11802,7 @@ dependencies = [ [[package]] name = "wasmtime-wasi" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "async-trait", "bitflags 2.11.1", @@ -11830,7 +11830,7 @@ dependencies = [ [[package]] name = "wasmtime-wasi-http" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "async-trait", "bytes", @@ -11855,7 +11855,7 @@ dependencies = [ [[package]] name = "wasmtime-wasi-io" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "async-trait", "bytes", @@ -11867,7 +11867,7 @@ dependencies = [ [[package]] name = "wasmtime-wizer" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "log", "rayon", @@ -12011,7 +12011,7 @@ checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" [[package]] name = "wiggle" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "bitflags 2.11.1", "thiserror 2.0.18", @@ -12024,7 +12024,7 @@ dependencies = [ [[package]] name = "wiggle-generate" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "heck", "proc-macro2", @@ -12037,7 +12037,7 @@ dependencies = [ [[package]] name = "wiggle-macro" version = "46.0.1" -source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#d8778f692b960c7464ffe86cbccb99e92965e154" +source = "git+https://github.com/golemcloud/wasmtime.git?branch=golem-wasmtime-v46.0.1-p3#e6c1b7fb258bda26537e955e09c8c3ce3fd1a386" dependencies = [ "proc-macro2", "quote", diff --git a/golem-worker-executor/src/durable_host/p3/http/response_body.rs b/golem-worker-executor/src/durable_host/p3/http/response_body.rs index f23e09a4b9..f68ecfaa3a 100644 --- a/golem-worker-executor/src/durable_host/p3/http/response_body.rs +++ b/golem-worker-executor/src/durable_host/p3/http/response_body.rs @@ -56,12 +56,13 @@ use http_body_util::combinators::UnsyncBoxBody; use std::future::Future; use std::marker::PhantomData; use std::pin::Pin; +use std::sync::{Arc, Mutex}; use std::task::{Context, Poll}; use tokio::sync::{mpsc, oneshot}; use tracing::debug; use wasmtime::component::{ Access, Accessor, AccessorTask, Destination, FutureProducer, FutureReader, Resource, - StreamProducer, StreamReader, StreamResult, + StreamProducer, StreamReader, StreamResult, TerminalConsumption, }; use wasmtime::{AsContextMut, StoreContextMut}; use wasmtime_wasi_http::FieldMap; @@ -196,12 +197,8 @@ pub(super) enum HttpBodyChunkReply { /// Resolution delivered to the guest-facing trailers future once the body closes /// (or the durable task fails before recording the terminal). pub(super) enum HttpTrailersResolution { - /// The body terminal: clean trailers (or a body `ErrorCode`), together with the delivery - /// token that is consumed only when the guest-facing future produces the outcome. - Outcome { - outcome: HttpTrailersOutcome, - delivery: CompletionDelivery, - }, + /// The body terminal: clean trailers (or a body `ErrorCode`). + Outcome(HttpTrailersOutcome), /// A durability failure: the trailers future traps with this message, tagged /// with the failing call scope's trap context. Trap { @@ -210,6 +207,117 @@ pub(super) enum HttpTrailersResolution { }, } +enum HttpTrailersDeliveryState { + Awaiting, + Armed(CompletionDelivery), + Observed(Option), + Done, +} + +struct HttpTrailersDelivery { + state: Mutex, +} + +impl HttpTrailersDelivery { + fn new() -> Arc { + Arc::new(Self { + state: Mutex::new(HttpTrailersDeliveryState::Awaiting), + }) + } + + fn arm(&self, delivery: CompletionDelivery) { + let observed = { + let mut state = self.state.lock().expect("trailers delivery lock poisoned"); + match &*state { + HttpTrailersDeliveryState::Awaiting => { + *state = HttpTrailersDeliveryState::Armed(delivery); + return; + } + HttpTrailersDeliveryState::Observed(observed) => { + let observed = *observed; + *state = HttpTrailersDeliveryState::Done; + observed + } + HttpTrailersDeliveryState::Armed(_) | HttpTrailersDeliveryState::Done => { + unreachable!("trailers delivery is armed exactly once") + } + } + }; + Self::settle(delivery, observed); + } + + fn observe(&self, consumption: TerminalConsumption) { + let delivery = { + let mut state = self.state.lock().expect("trailers delivery lock poisoned"); + match std::mem::replace(&mut *state, HttpTrailersDeliveryState::Done) { + HttpTrailersDeliveryState::Awaiting => { + *state = HttpTrailersDeliveryState::Observed(Some(consumption)); + return; + } + HttpTrailersDeliveryState::Armed(delivery) => delivery, + HttpTrailersDeliveryState::Observed(_) | HttpTrailersDeliveryState::Done => { + unreachable!("trailers terminal observer is invoked at most once") + } + } + }; + Self::settle(delivery, Some(consumption)); + } + + fn abandon(&self) { + let delivery = { + let mut state = self.state.lock().expect("trailers delivery lock poisoned"); + match std::mem::replace(&mut *state, HttpTrailersDeliveryState::Done) { + HttpTrailersDeliveryState::Awaiting => { + *state = HttpTrailersDeliveryState::Observed(None); + return; + } + HttpTrailersDeliveryState::Armed(delivery) => delivery, + HttpTrailersDeliveryState::Observed(_) | HttpTrailersDeliveryState::Done => return, + } + }; + delivery.suppress(); + } + + fn settle(delivery: CompletionDelivery, consumption: Option) { + match consumption { + Some(TerminalConsumption::Delivered) => delivery.delivered(), + Some(TerminalConsumption::NotDelivered) => drop(delivery), + Some(TerminalConsumption::Superseded) => { + tracing::error!("consume-body trailers terminal observer was superseded"); + delivery.suppress(); + } + None => delivery.suppress(), + } + } +} + +struct HttpTrailersDeliveryGuard { + delivery: Arc, + observed: bool, +} + +impl HttpTrailersDeliveryGuard { + fn new(delivery: Arc) -> Self { + Self { + delivery, + observed: false, + } + } + + fn observe(mut self, consumption: TerminalConsumption) { + self.observed = true; + self.delivery.observe(consumption); + } +} + +impl Drop for HttpTrailersDeliveryGuard { + fn drop(&mut self) { + if !self.observed { + self.delivery.abandon(); + } + } +} + /// Body stream returned to the guest from `consume-body`. /// /// `consume-body` is a *synchronous* host function but durable persistence is @@ -469,7 +577,7 @@ where match Pin::new(&mut this.rx).poll(cx) { Poll::Pending if finish => Poll::Ready(Ok(None)), Poll::Pending => Poll::Pending, - Poll::Ready(Ok(HttpTrailersResolution::Outcome { outcome, delivery })) => { + Poll::Ready(Ok(HttpTrailersResolution::Outcome(outcome))) => { let item = match outcome { Ok(None) => Ok(None), Ok(Some(headers)) => { @@ -477,7 +585,6 @@ where match view.table.push(FieldMap::new_immutable(headers)) { Ok(resource) => Ok(Some(resource)), Err(err) => { - delivery.suppress(); return Poll::Ready(Err(wasmtime::Error::from(err) .context("failed to push consume-body trailers to table"))); } @@ -485,7 +592,6 @@ where } Err(error) => Err(error), }; - delivery.delivered(); Poll::Ready(Ok(Some(item))) } // A durability failure occurred before the terminal was recorded: the @@ -750,6 +856,7 @@ pub(super) struct HttpConsumeBodyTask { body: UnsyncBoxBody, demand_rx: mpsc::Receiver, trailers_tx: oneshot::Sender, + trailers_delivery: Arc, /// Open-response state of the send that produced this response (its /// `outgoing-http-request` span, retry properties, and — for a replayed /// response — the send rebuild info), taken over from the response @@ -766,6 +873,7 @@ impl HttpConsumeBodyTask { body: UnsyncBoxBody, demand_rx: mpsc::Receiver, trailers_tx: oneshot::Sender, + trailers_delivery: Arc, response_state: Option, activity: TailActivity, ) -> Self { @@ -773,6 +881,7 @@ impl HttpConsumeBodyTask { body, demand_rx, trailers_tx, + trailers_delivery, response_state, activity, _phantom: PhantomData, @@ -790,6 +899,7 @@ where mut body, mut demand_rx, trailers_tx, + trailers_delivery, response_state, activity, .. @@ -1502,11 +1612,10 @@ where // exists only for the crash/drop contract (task dropped without // finishing), handled by the call handle's drop machinery. // - // The trailers send below is the real guest-facing delivery boundary, - // so the terminal is recorded through the deferred-delivery API: a - // closed trailers receiver after the persisted `End` records a - // `CompletionDiscarded` marker instead of replay redelivering the - // outcome. + // The trailers future's terminal-consumption observer is the real guest-facing delivery + // boundary, so the terminal is recorded through the deferred-delivery API. Dropping the + // future after the persisted `End` records a `CompletionDiscarded` marker instead of + // replay redelivering the outcome. // // Capture the parent scope's trap context first (it is a pure function of // the scope and survives the handle being consumed below) so every @@ -1632,24 +1741,12 @@ where parent_trap_context, )) })?; - match trailers_tx.send(HttpTrailersResolution::Outcome { outcome, delivery }) { + trailers_delivery.arm(delivery); + match trailers_tx.send(HttpTrailersResolution::Outcome(outcome)) { Ok(()) => {} - Err(HttpTrailersResolution::Outcome { delivery, .. }) => { - // The guest dropped the trailers future after the terminal - // was persisted: the completion is silently discarded, so - // record the marker before acknowledging any cancellation - // (the task itself holds a `TailActivity`, and `discarded` - // hands a torn wait to the drain queue, so the marker stays - // settlement-accounted either way). - if let Err(error) = delivery.discarded().await { - return Err(wasmtime::Error::from_anyhow( - mark_durable_call_trap_context( - anyhow::Error::from(error), - parent_trap_context, - ), - )); - } - } + // The terminal observer has already settled the delivery token if the guest + // dropped the future, or suppressed it if the future disappeared during a trap. + Err(HttpTrailersResolution::Outcome(_)) => {} Err(HttpTrailersResolution::Trap { .. }) => { unreachable!("the sent trailers resolution is an outcome") } @@ -1735,6 +1832,7 @@ impl types::HostResponseWithStore for Dura // producer keeps at most one demand in flight at a time. let (demand_tx, demand_rx) = mpsc::channel(1); let (trailers_tx, trailers_rx) = oneshot::channel(); + let trailers_delivery = HttpTrailersDelivery::new(); // Build both guest-facing handles before spawning the durable task. The // task appends the `consume-body` `Start`; the guest cannot poll either @@ -1742,7 +1840,7 @@ impl types::HostResponseWithStore for Dura // committing a `Start` with no terminal (orphaned `Start`) if a later // handle construction fails. let mut stream = StreamReader::new(&mut store, DurableHttpBodyProducer::new(demand_tx))?; - let trailers = match FutureReader::new( + let mut trailers = match FutureReader::new( &mut store, HttpTrailersFutureProducer::::new(trailers_rx), ) { @@ -1752,6 +1850,14 @@ impl types::HostResponseWithStore for Dura return Err(err); } }; + let delivery_guard = HttpTrailersDeliveryGuard::new(trailers_delivery.clone()); + if let Err(err) = trailers.register_terminal_observer(&mut store, move |consumption| { + delivery_guard.observe(consumption); + }) { + let _ = trailers.close(store.as_context_mut()); + let _ = stream.close(store.as_context_mut()); + return Err(err); + } let activity = { let mut store_ctx = store.as_context_mut(); @@ -1763,6 +1869,7 @@ impl types::HostResponseWithStore for Dura body, demand_rx, trailers_tx, + trailers_delivery, response_state, activity, ));